json 문자열을 에코하는 방법인가요?
<code>function my() { ... echo {"code":"NO_ERROR","msg":"获取系统参数成功"} }</code>
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에서 빈 배열을 사용하면 현재로서는 이를 인식할 수 없습니다. 또 다른 판단이 필요합니다. 전달한 객체가 비어 있는지 판단해야 합니다. json_encode(array('data' => (empty($data) ? new stdclass() : $data)))
특수 문자열 등 문자열을 직접 작성하다 보면 실수하기 쉽습니다. 강력한 PHP 방식인 json_encode($obj)를 사용하는 것을 권장합니다
사실 굳이 이렇게 쓸 필요는 없습니다. 보통 배열로 쓰는 경우가 많습니다. 그렇다면 json_encode로 충분합니다
$this->ajaxReturn(json_encode($data), "JSON");