2012-10-26 121 views
0

我想在選擇事件時執行ajax函數。基本上我有一個Google Maps API連接,它給了我一個基於給定輸入的地方下拉列表。當用戶從結果列表中選擇一個值時,必須執行ajax函數。基本任務:根據Google Maps API中的給定座標在數據庫中查找結果。jQuery ajax不斷進入錯誤,而不是成功功能

出於某種原因,我無法得到這個工作,而腳本已達到,readyState變爲4,狀態爲200.有什麼建議嗎?

$('#SearchIn').autocomplete({ 
    source: // my google maps implementation (which works correctly), 

    select: function(event, ui){ 
     $(this).autocomplete('close'); 
     $(this).val(ui.item.value); 

     $.ajax({ 
      url:  ABS_BASE + 'ajax/ajax-get-results-from-location.php?data=123', 
      success: function(result) { 
          console.log('success'); 
          console.log(result); 
         }, 
      error:  function(jqXHR, textStatus, errorThrown) { 
          console.log(jqXHR); 
          console.log(textStatus); 
          console.log(errorThrown); 
         } 
     });   
    } 
}); 

更新; errorThrown是'SyntaxError'。該textStatus =「parseerror」但是從文件的唯一內容是:

<?php 
    include './ajax-base.php'; 

    echo 'OK I\'m here!'; 

有趣的是,從jqXHR這個responseText是由回聲。

+0

如果您使用調試控制檯,將獲取的HTTP請求的狀態是什麼? – JeffS

+0

您是否檢查了網絡請求以獲取有關該錯誤的詳細信息?錯誤的細節是什麼? – JoeFletch

+0

我更新了這篇文章,感謝與我一起思考。 – Ben

回答

1

我猜你缺少PHP收盤:

<?php 
include './ajax-base.php'; 

echo 'OK I\'m here!'; 
?> 
+0

雖然它不見了,但這不是問題不幸... – Ben

+0

關閉php標籤是沒有必要的。 – Jaime

1

啊,我發現了錯誤。在我的ajax-base.php文件中,我設置了一個頭文件,內容類型爲application/json。這導致了我的錯誤。