我有以下按鈕:當它在用戶點擊下面的JavaScript函數將啓動奇怪的JavaScript行爲 - JSON.parse:意外的字符
<button onclick='enroll(<?php echo $course['cs_id']; ?>)'>enroll</button>
:
function enroll(id){
$.post("<?php echo base_url().'courses/enroll/'; ?>"+id , function(data){
obj = JSON.parse(data);
alert(obj.state);
});
}
其執行後請求php頁面回顯json數組像這樣:
$data = array("state"=>"done");
die(json_encode($data));
但不幸的是下面出現在控制檯錯誤:
JSON.parse:意外的字符
我檢查了頁面響應和它的外觀像這樣(這似乎罰款):
{"state":"done"}
還當我改變報名()功能如下:
function enroll(id){
$.post("<?php echo base_url().'courses/enroll/'; ?>"+id , function(data){
alert(data);
});
}
其顯示如下正確的提醒信息:
{"state":"done"}
那麼爲什麼它拒絕做解析的一切似乎好嗎?任何想法 ?
所以它應該當我做這個警報(data.state)工作;而不解析數據,但是當我這樣做時,它會在警報消息中顯示「未定義」。 – OpEtMaR
@OpEtMaR你可以在瀏覽器控制檯上檢查它,然後,而不是做'alert'? '控制檯。dir'會給你最多的信息。 – lonesomeday
它顯示:undefined,沒有屬性 – OpEtMaR