javascript之ajax请求数据demo

demo代码如下:

html的demo代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		* {
			margin: 0;
			padding: 0;
		}
		.imgbox {
			width: 256px;
			height: 170px;
			border: 1px solid #000;
			margin: 20px auto;
		}
		.imgbox img {
			width: 100%;
		}
		.infobox {
			width: 400px;
			height: 100px;
			border: 1px solid #000;
			margin: 20px auto;
		}
		input {
			margin: 20px auto;
		}
		body {
			text-align: center;
		}
	</style>
</head>
<body>
	<div class="imgbox"></div>
	<div class="infobox"></div>
	<input type="button" class="dogbtn" value="1"/>
	<input type="button" class="dogbtn" value="6"/>
	<input type="button" class="dogbtn" value="9"/>
	<script type="text/javascript">
		var btnlist = document.querySelectorAll(".dogbtn");
		for(var i = 0 ; i <= btnlist.length - 1; i++){
			btnlist[i].onclick = function(){
				var ajaxObj = new XMLHttpRequest();
				ajaxObj.open("post","first.php");
				ajaxObj.setRequestHeader("Content-type","application/x-www-form-urlencoded");
				ajaxObj.send('name=' + this.value);
				ajaxObj.onreadystatechange = function(){
					if(ajaxObj.readyState == 4 && ajaxObj.status == 200){
						// 只有一个值返回时
						// document.querySelector(".imgbox").style.background = 'url('+ajaxObj.responseText +') no-repeat center';
						console.log(ajaxObj.responseText.split("|"));
						var content = ajaxObj.responseText.split("|");
						document.querySelector(".imgbox").style.background = 'url(' + content[0] + ') no-repeat center';
						document.querySelector('.infobox').innerHTML = content[1];
					}
				}
			}
		}
	</script>
</body>
</html>
php的demo代码如下:

<?php
	$key = $_POST['name'];
	$starArr = array(
			'1' => array('1.jpg','我是狗狗1号'),
			'6' => array('6.jpg','我是狗狗2号'),
			'9' => array('9.jpg','我是狗狗3号')
		);
	// 下面是只返回一个值时的代码
	// $value = $starArr[$key];
	// echo $value;
	// 返回多个属性值的代码
	// 使用能够key获取对应的元素
	$onedog = $starArr[$key];
	// 将数组中的两个值都返回给用户
	echo $onedog[0];
	// 为了在浏览器分割方便,在这里添加一个分割符
	echo '|';
	echo $onedog[1];
?>

MediaWiki 实现 AJAX 请求的步骤如下: 1. 在 `LocalSettings.php` 文件中添加以下代码开启 AJAX 支持: ```php $wgAjaxExportList = array( 'myFunction' ); $wgUseAjax = true; ``` `$wgAjaxExportList` 数组中包含了可以被调用的函数名,这些函数将由 JavaScript 发送 AJAX 请求来执行。 2. 编写 AJAX 函数: ```php function myFunction( $param ) { // 处理参数 $result = "Hello, " . $param; // 返回结果 return $result; } ``` 此函数接收一个参数 `$param`,处理后返回结果。 3. 编写 JavaScript 代码: ```javascript $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { console.log( response ); } }); ``` 该代码使用 jQuery 发送 AJAX 请求,调用了 MediaWiki 中的 `myFunction` 函数,并传入了参数 `'World'`。成功后,控制台将输出结果。 以下是一个简单的 AJAX 请求示例: ```php function myAjaxFunction( $param ) { $result = "Hello, " . $param; return $result; } $wgHooks['BeforePageDisplay'][] = function( $out ) { $out->addScript( <<<JS $(document).ready(function() { $('#ajax-button').click(function() { $.ajax({ type: 'POST', url: mw.util.wikiScript(), data: { action: 'ajax', rs: 'myAjaxFunction', rsargs: ['World'] }, dataType: 'json', success: function( response ) { alert( response ); } }); }); }); JS ); return true; }; $wgResourceModules['ext.myExtension'] = array( 'scripts' => array( 'js/myExtension.js', ), 'dependencies' => array( 'jquery', 'mediawiki.util', ), ); ``` 此代码定义了一个 `myAjaxFunction` 函数,并添加了一个按钮,点击后将触发 AJAX 请求并弹出结果。同时,它还注册了一个资源模块 `ext.myExtension`,在其中包含了 `myExtension.js` 文件。该文件中包含了上述 JavaScript 代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值