用jQuery发送和接收数组Ajax
问题描述:
我想从main.html发送数组到test.php文件并从test.php接收其他数组,但它不工作.plz帮助我!用jQuery发送和接收数组Ajax
main.html中
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="jquery/jquery-1.4.2.js"></script>
<script type="text/javascript"><!--
$(function() {
$('#Button1').click(function() {
var SendArrary = [];
SendArrary[0] = $('#Text1').val();
SendArrary[1] = $('#Text2').val();
SendArrary[2] = $('#Text3').val();
$.get('test.php',
SendArrary,
function (RecieveArray) {
$('#Text1').val(RecieveArray[0]);
$('#Text2').val(RecieveArray[1]);
$('#Text3').val(RecieveArray[2]);
},
alert("Ajax Done!!!")
)
});
});
--></script>
</head>
<body>
1<input id="Text1" type="text" /><br />
2<input id="Text2" type="text" /><br />
3<input id="Text3" type="text" /><br />
<input id="Button1" type="button" value="button" />
</body>
</html>
test.php的
<?php
$RecieveArray = $_GET['SendArrary'];
$RecieveArray[0] = $RecieveArray[0]."1";
$RecieveArray[1] = $RecieveArray[1]."2";
$RecieveArray[2] = $RecieveArray[2]."3";
print_r($RecieveArray);
?>
答
偷懒的办法:
jQuery的:http://api.jquery.com/jQuery.get/
var callback = function(data){
data = $.parseJSON(data);
// do stuff with data
}
$.get("test.php", {
array: SendArrary
}, callback);
PHP:http://www.php.net/manual/en/function.explode.php
$arr = explode(",", $_GET['array']);
注意:你的反应必须是有效的JSON,如:
["one", "two", "three", 4]
用PHP:http://php.net/manual/en/function.implode.php
echo("[".implode(",", $yourArray)."]");
你可能想看看PHP JSON工具包,如果你想冒险超越发送和接收阵列。
不知道如果php代码能马上工作,我只是在手册中查看它,可能在这里或那里是错误的,但是如果你阅读手册链接,你应该得到开玩笑。