2014-06-08 79 views
1

所有這一切工作之前,我沒有改變任何東西,現在它沒有。我有兩個以id =「live_title」和id =「live_game」命名的元素。 AJAX的目的是更新它們。AJAX「成功」不叫

我的jQuery:如看到螢火蟲

var tytul = function getTitle(){ 
    $.ajax({ 
     type : 'GET', 
     dataType: 'json', 
     url : 'ajax/getTitle.php', 
     success : function(data) { 
      for (var prop in data) { 
       $('#live_'+prop).html(data[prop]); 
      } 
     } 
    }); 
} 
setInterval(tytul, 10000); 

AJAX響應:

{"title":"Some title title...","game":"Name of the game"} 

PHP代碼發送的東西:

header('Content-Type: application/json'); 
// creating assoc array here 
echo json_encode(array('title' => $title, 'game' => $game)); 

JavaScript控制檯是空的。

當我在瀏覽器中訪問ajax/getTitle.php時,沒有錯誤,顯示的內容與Firebug中的正常情況相同。響應給出正確的標題(它是「Content-Type:application/json」)。

我添加

error : function(data) { 
    alert(data); 
} 

要我.ajax()功能。它彈出[object Object]。對於alert(data.title)alert(data['title'])這是undefined

+0

你設置頭中的PHP文件爲JSON? – Andrew

+0

如果你把URL放在瀏覽器中,你會得到什麼? –

+1

PHP腳本的響應代碼是什麼?即使輸出是有效的json,如果它是一個錯誤代碼,成功處理程序也不會被調用。 – GolezTrol

回答

3

儘量先安慰你的Ajax響應,然後邁出第一步,進一步的操作

var tytul = function getTitle(){ 
$.ajax({ 
    type : 'GET', 
    dataType: 'json', 
    url : 'ajax/getTitle.php', 
    success : function(data) { 
     //if successfull   
     console.log(data); 

    }, 
    error:function(data){ 
    //if error 
    console.log(data); 
    } 
    }); 
} 
setInterval(tytul, 10000);