使用Jquery $ .post可以将返回的数据作为数组还是返回2组数据?
示例:
$.post("MyScript.php", { action:"run" },function(data){
alert(data);
});
现在上面这个简单的帖子向php脚本发布了一个动作,它执行2个函数并返回数据,然后显示在警告框中。但我的php脚本执行2个函数,需要对每个返回的数据做不同的事情。
所以从本质上来说我问$ .post是否可以返回2组这样的数据:
$.post("MyScript.php", { action:"run" },function(data1, data2){
alert(data1);
$("div1").html(data2);
});
或者返回数据是否可以是一个数组,我可以通过值将其分配给php脚本中的数组元素?
我希望这是有道理的。
答案 0 :(得分:3)
它只能返回一个data
的东西......无论是什么,HTML,XML,JSON等......但是你可以返回JSON上有2个属性,例如:< / p>
$.post("MyScript.php", { action:"run" },function(data){
alert(data.property1);
$("div1").html(data.property2);
});
答案 1 :(得分:2)
如果我理解你的话,我不是百分百肯定,但这听起来像是在寻找JSON object
。您可以使用php在服务器上创建数据结构,最后将其编码为JSON字符串。
此JSON字符串是您传输到客户端的字符串。通过将json
传入$.post
函数,您可以告诉jQuery您希望将json格式的字符串作为返回值。这样,jQuery会将json字符串解码为真正的javascript object
。
答案 2 :(得分:1)
这取决于MyScript.php返回响应。它可以是纯文本,json,xml等。 但是您只能接收一个数据集。没有什么禁止这个返回数据集里面有一些数据集。 ;)
反正。如果它是json数据(使用jquery更简单),你可以做类似的事情:
$.post("MyScript.php", { action:"run" },function(data){
$.each(data, function(index, value)
{
alert( index+' : '+value );
});
});
点击此处:http://api.jquery.com/jQuery.post/。他们有一些可以帮助你的例子。 ; d
答案 3 :(得分:1)
由于数据只返回一件事,我发现这对我有用。
myfile.php的内容被发布到:
<table>
<tr><td>
<h2>My Heading here</h2>
<div id="mydiv">something here</div>
</td></tr>
</table>
JQuery on file with form to post:
$.post("myfile.php", { txtField1: "whatever" },
function (data) {
var content = $(data).html();
$("#submit_result").html(content);
}
);
这会将整个表格及其html内容输出到#sumbit_result。