2013-10-17 56 views
2

我正在使用jquery ajax訪問跨域api,但我無法實現它。 Iam在控制檯中出現「未捕獲的語法錯誤:意外的令牌<」錯誤,如何解決此問題。如何解決在jsonp中未捕獲的語法錯誤

代碼:

$.ajax({ 
url: "http://..............", 
type:"GET", 
dataType: 'jsonp', 
crossDomain: true, 
contentType:"application/javascript", 
success: function (data) { 
    alert(data); 
}, 
error: function (errorMEssage, Errtext) { 
    alert(Errtext); 
} 
}); 

錯誤:

uncaught syntaxerror : unexpected token < 
+0

什麼服務器的回報?它支持JSONP嗎? –

+0

@DarinDimitrov xml – Vignesh

+1

哦,這可以解釋它。 –

回答

3

您不能使用JSONP到返回XML服務器跨域AJAX調用。如果您希望能夠進行跨域AJAX調用,您有兩種可能性:

  • 使用JSONP - >您的服務器需要支持它。
  • 使用CORS - >您的服務器客戶端瀏覽器不需要支持它。

如果您的服務器支持CORS您的要求可能是這樣的:

$.ajax({ 
    url: "http://..............", 
    type:"GET", 
    crossDomain: true, 
    success: function (data) { 
     alert(data); 
    }, 
    error: function (errorMEssage, Errtext) { 
     alert(Errtext); 
    } 
}); 
+0

如何實現它 – Vignesh

+0

使用JSONP或CORS。您將需要修改遠程端點以支持其中一個。只有這樣您才能進行跨域AJAX調用。 –

+0

dataType:'cors'是否正確? – Vignesh

0

變化的數據類型爲xml

dataType: 'xml', 
+0

沒有CORS,這將無法正常工作。 –

+0

@DarinDimitrov +1謝謝,我正在尋找你提到的CORS。 – Praveen

+0

@Praveen請你在這裏分享這個鏈接 –

相關問題