[英]JSON returning null on response with jQuery $.ajax
我試圖在ajax發布上獲得響應,但總是返回NULL。
我以為已經嘗試了所有可能的方法...但是希望有人能夠解決它。 首先十分感謝。 如果需要更多信息,請告訴我。
注意: PHP函數不會向JQuery ajax方法返回任何數據 -此鏈接對我沒有幫助
這是jQuery代碼:
var post_id=3;
$.ajax({
type: "POST",
url: "profile/ajax_get_new_posts",
data: { post_id : post_id },
dataType: 'json',
success: function(data){
console.log(data);
var current_content = $("ol#posts_container").html();
$("ol#posts_container").html(data.content + current_content);
}
});
profile / ajax_get_new_posts(.php)
function ajax_get_new_posts(){
header('Content-Type: application/json');
$post_id=$this->input->post('post_id');
$chat_messages_html='testing';
$result = array('status' => 'ok', 'content' => $chat_messages_html);
$result=json_encode($result);
return ($result);
exit();
}
如果我嘗試使用var_dump($ result); die(); 給我正確的結果:
string(38) "{"status":"ok","content":"samoletite"}"
在響應標頭上,我得到Content-Length:0(正在localhost上進行測試...,而不是www.mywebsite)
Remote Address:[::1]:80
Request URL:http://www.mywebsite/bg/profile/ajax_get_new_posts
Request Method:POST
Status Code:200 OK
Request Headersview source
Accept:application/json, text/javascript, */*; q=0.01
Accept-Encoding:gzip,deflate
Accept-Language:en-US,en;q=0.8
Connection:keep-alive
Content-Length:9
Content-Type:application/x-www-form-urlencoded
Host:localhost
Origin:http://localhost
Referer:http://www.mywebsite/bg/profile
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36
X-Requested-With:XMLHttpRequest
Form Dataview sourceview URL encoded
post_id:3
Response Headersview source
Connection:Keep-Alive
Content-Length:0
Content-Type:application/json
Date:Fri, 31 Oct 2014 13:24:56 GMT
Keep-Alive:timeout=5, max=97
.......
Console.log給我:
null --->ajaxPostProfile.js:28
Uncaught TypeError: Cannot read property 'content' of null --->ajaxPostProfile.js:31
而是使用return ($result);
,使用echo
。 像這樣:
function ajax_get_new_posts(){
header('Content-Type: application/json');
$post_id=$this->input->post('post_id');
$chat_messages_html='testing';
$result = array('status' => 'ok', 'content' => $chat_messages_html);
$result=json_encode($result);
echo $result;
exit();
}
並再次測試。
您可以使用以下語法在PHP中返回json數據:
header('Content-Type: application/json');
echo json_encode($result);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.