Jquery $ .post返回数据

时间:2010-12-15 12:22:31

标签: jquery arrays post

使用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脚本中的数组元素?

我希望这是有道理的。

4 个答案:

答案 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

参考:$.postJSON

答案 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。