鍍金池/ 問答/Java  PHP  HTML/ php + ajax|可接收兩個以上 ajax 的回傳嗎?

php + ajax|可接收兩個以上 ajax 的回傳嗎?

$.ajax({
      type: "GET",
      url: "url.php",
      success: function(data){
      }

假設(shè)我用這樣打過去
如果印出 console.log(data) 可以印出我在 url.php 所 echo 的東西
但假設(shè)我需要接收兩個以上的回傳怎麼辦?能不能分開?

比如說我在 url.php 回傳

echo 'ok';

echo 'some data';

如果直接印出來會變成

oksome data

但我 ajax 這邊第一個要確認是否 ok,第二我要讓他帶數(shù)據(jù)回來而不只有 ok,我還想夾帶其他的數(shù)據(jù)
請問這怎麼實現(xiàn)?

回答
編輯回答
墨染殤

可以直接return json數(shù)據(jù)
return json_encode(['status'=>somestatus,'message'=>messagevalue]);
不過值得注意的是,在某些特殊情況下不能前端是無法解析后臺phpjson_encode出來的json的(原因:json_code函數(shù)出來的json不是嚴格意義上的json數(shù)據(jù),所以前端無法解析)
那么,可以寫一個arrayToJson的全局函數(shù)
$array = ['a'=>1,'b'=>2,'c'=>3];
foreach($array as $k=>$v) $list[] = sprintf('"%s":"%s"', $k, $v);
echo '{' . join(',', $list) . '}';
這樣就完成了一個json的拼接,對于嚴格模式來說也可以使用的json數(shù)據(jù)了

2017年3月13日 08:50
編輯回答
半心人

后端返回json數(shù)據(jù)!

echo json_encode(['status' => 'ok', 'data' => '...']);
function({status,data}) {
   // status => ok
   // data => ...
}
2018年6月23日 08:02
編輯回答
懶豬

返回 json 即可解決問題。

2018年4月13日 00:05
編輯回答
荒城

返回json數(shù)組了解一下

2018年6月12日 02:37
編輯回答
局外人

長連接了解一下

2018年4月11日 04:44