jquery ajax请求多个返回值?

时间:2015-12-01 10:29:19

标签: php jquery ajax get request

我按照本页的教程进行操作:

http://www.keyboardninja.eu/webdevelopment/jquery-ajax-call-tutorial

已经得到了随机数输出。但是我如何更改函数(和php文件?),我得到多个返回(" msg"在示例中),以填充不同的div?或者这是不可能的,所以我必须填充包含div的东西,并将大量代码放入php文件中的echo部分?

由于

3 个答案:

答案 0 :(得分:3)

在process.php文件中,添加数组中的所有消息,而不是转换为json,如下所示。

$msg=array();
$msg[]  = $msg1;
$msg[]  = $msg2;
.
.
........

echo json_encode($msg);

现在在你的ajax调用中处理json,在javascript中使用每个显示你的所有消息

答案 1 :(得分:1)

试试这个,

在您的ajax文件中,使用' |'附加多条消息。或者'〜'当它返回时,将其拆分为JS;并通过innerHTML将它放在你的DIV中。

ex(在ajax中)

echo $msg1.'|'.$msg2.'|'.$msg3;

答案 2 :(得分:0)

  

在Php方面(ajax.php)执行此操作:

    $arr = array();
    $arr['msg1'] = '<p>Hi I am some random ' . rand() .' output from the server First Msg.</p>';
    $arr['msg2'] = '<p>Hi I am some random ' . rand() .' output from the server Second Msg.</p>';
    $arr['msg3'] = '<p>Hi I am some random ' . rand() .' output from the server Third Msg.</p>';
    echo json_encode($arr);
  

在Js方面:

function myCall() {
  var request = $.ajax({
  url: "ajax.php",
  type: "GET",          
  dataType: "json"
  });

  request.done(function(data) {

    $("#mybox1").html(data.msg1);           
    $("#mybox2").html(data.msg2);           
    $("#mybox3").html(data.msg3);           
  });

  request.fail(function(jqXHR, textStatus) {
     alert( "Request failed: " + textStatus );
  });
}