2013-10-12 63 views
1

我正在嘗試向測試的臨時數據源發出AJAX jsonp請求。這是我使用的代碼:Jquery Ajax - 未捕獲的SyntaxError - 意外的代幣

$('#search').click(function (event) { 
    $.ajax({ 
     url: "http://api.test.com/v1/", 
     type: "GET", 
     contentType: "application/json", 
     dataType: "jsonp", 
     data: {q:$("#keyword").val()}, 
     timeout: 5000, 
     beforeSend: function() { 
      $('#content').fadeTo(500, 0.5); 
     }, 
     success: function (data, textStatus) { 
      $('html, body').animate({ 
       scrollTop: '0px' 
      }, 300); 
     $('#content').html(data.objects[0].category+'<br>'+data.objects[0].company); 
     }, 
     error: function (x, t, m) { 
      if (t === "timeout") { 
       alert("Request timeout"); 
      } else { 
       alert('Request error'); 
      } 
     }, 
     complete: function() { 
      $('#content').fadeTo(500, 1); 
     } 
    }); 
}); 

當過我嘗試運行我得到以下錯誤的命令:

Uncaught SyntaxError: Unexpected token :

我是新來的jQuery和Ajax普遍,這也我難倒。我哪裏錯了?

回答

4

您正在使用的URL看起來不是JSONP服務。它返回一個普通的JSON結構,而這對於JSONP不起作用。

您需要找出JSONP服務的替代API,或者從服務器查詢。

0

如果您正在使用JSONP作爲數據類型,從服務器的返回應該是這樣的

jQuery111207659580435138196_804043({"status" : "success"})

相關問題