2014-07-19 100 views
0

我已經搜索了很多這個,但我找到的答案不起作用,但我認爲這個問題是我的。parsererror/SyntaxError:意外的令牌<

的JavaScript:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    dataType: 'json', 
    success: function(response) { 
     if(response.status == true) { 
      alert('ok'); 
     } else { 
      alert('error'); 
     } 
    }, 
    error: function(xhr, desc, err) { 
     console.log(xhr); 
     console.log("Details: " + desc + "\nError:" + err); 
    } 
}); 

PHP

if(User::addFavLater($id, $user, 'favs')) { 
    $result = array("status" => true); 
} else { 
    $result = array("status" => false); 
} 

header('Content-type: application/json'); 
echo json_encode($result); 

所以,這是代碼的摘錄,我有,我想你可以實現。我想PHP發送JSON響應到JavaScript,但這是不會發生和JavaScript給了我這個錯誤:

parsererror/SyntaxError: Unexpected token < 

我使用的是2.1.1版本的jQuery。

P.S .:對不起,我的英語。

回答

2

在方法$.ajax中,成功回調接收變量datasuccess:function(data){...})中的服務器響應(JSON文件)。因此,嘗試從這個變量中恢復你想要的值(在你的情況下,類似data.response而不是response)。

+0

謝謝,但它不工作。請檢查我的編輯請:)謝謝 –

+0

你應該在你的PHP文件中有錯誤。然後,服務器響應是一個HTML片段,其中包含錯誤描述,而不是預期的JSON內容。嘗試在控制檯的網絡面板中檢查AJAX請求收到的數據。 – user3786597

+1

非常感謝!我永遠不會忘記!我的PHP文件有兩個錯誤! = d –