我知道這裏有很多這個問題。我花了一整天的時間來搜索同一個問題。沒有什麼能回答我的!所以,請不要關閉這個說法,我只是複製。
我有被稱爲在同一頁面另一個JS文件上的PHP文件,這個PHP文件編碼的陣列並回它在同一頁上(這是當它從一個Ajax請求調用)那樣:
$data = array(
"status" => $status,
"message" => $message,
);
echo json_encode($data);
$ status和$ message的值由它們上面的一些條件決定(這裏並不重要)。這個PHP文件在索引文件的頂部被調用,所以這意味着JSON在<!doctype html>
標籤之前被回顯。現在,在js文件,這裏是我試圖處理這一JSON的部分:
$.post($formUrl, $formData, function(data) {
$data = $.parseJSON(data);
alert($data.status);
});
不要擔心變量,它們都沒有問題。這裏唯一的問題是$data = $.parseJSON(data);
部分。 當我運行此代碼。成功沒有任何反應,但在PHP文件中,有一個插入命令可以正確執行數據庫。一切正常,除了這個JSON,我無法得到它! 當我試試這個:
$.post($formUrl, $formData, function() {
$str = '{"a":1,"b":2,"c":3,"d":4}';
$data = $.parseJSON($str);
alert($data.a);
});
它能正常工作,它提醒1.所以,我認爲這個問題是,它是在$.parseJSON()
不能在他們解析HTML文件,使用JSON,因爲正如我告訴你, PHP文件在< !doctype html >
之前回應JSON。
我現在很絕望。任何人都可以幫忙嗎?
你可以發佈服務器的響應嗎? – 2012-08-04 04:36:04
螢火蟲控制檯或chrome開發工具 – Rafay 2012-08-04 04:43:41