首頁  >  文章  >  後端開發  >  javascript - php 回應 ajax 的時候,怎麼回傳 json 物件呢?我這樣對嗎?

javascript - php 回應 ajax 的時候,怎麼回傳 json 物件呢?我這樣對嗎?

WBOY
WBOY原創
2016-12-01 00:57:03969瀏覽

就是這樣echo json 字串嗎?

<code>function my()
{
    ...
    
    echo {"code":"NO_ERROR","msg":"获取系统参数成功"}
}</code>

回覆內容:

就是這樣echo json 字串嗎?

<code>function my()
{
    ...
    
    echo {"code":"NO_ERROR","msg":"获取系统参数成功"}
}</code>

<code>$.ajax({
    type: "GET",
    url: "http://www.example.com/json.php",
    data: {name:"ele", pass:"123"}, //这里的data是参数,跟下面回调函数里服务器返回的data不是一个东西
    success: function(data){ console.log(data); }
});
<?php
$arr = array(
    'code' => 'NO_ERROR',
    'msg' => '获取系统参数成功',
);
header('Content-Type: application/json; charset=utf-8');
echo json_encode($arr);</code>

雖然不清楚你具體的問題場景,但是我以我的開發經驗回答一下,我曾經遇到過java調取php返回的json,但是當json_encode一個空的array時,java是無法識別的,這個時候就要另加判斷了,要判斷一下你傳入的物件是否為空:json_encode(array('data' => (empty($data) ? new stdclass() : $data)))

自己寫字串容易出錯,例如特殊字串等,建議使用json_encode($obj)一個強大的php方法

其實沒必要,這樣寫多麻煩,一般寫成陣列。 然後json_encode就可以了

$this->ajaxReturn(json_encode($data), "JSON");

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn