2013-03-14 84 views
0

傢伙,如何發送JSON響應的跨域ajax請求?

我想送一個跨域Ajax請求(http://dict.qq.com/dict?q=language),但服務器只提供JSON(不JSONP)響應,反正是有發出請求?

這裏就是我所做的:

$.ajax({ 
    url:"http://dict.qq.com/dict?q=language", 
    dataType:"jsonp", 
    type:'get', 
    processData:false, 
    crossDomain:true, 
    contentType:"application/json", 
    success:result 
}); 

function result(data){console.log(data);} 

的迴應是:

Uncaught SyntaxError: Unexpected token : 

謝謝!

+0

的可能重複[途徑來規避同源策略(http://stackoverflow.com /問題/ 3076414 /方式對規避最同源策略) – Quentin 2013-03-14 14:44:03

回答

0

服務器也需要被配置爲允許跨域請求,是這樣的:

Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE,OPTIONS",false); 
0

一般來說,same origin policy阻止你這樣做。 如果您有權訪問其他服務器,則可以嘗試更改發送的http標頭以避開此問題。這裏有一個使用CORS (Cross-Origin Resource Sharing)來實現這個的教程。

如果在遠程服務器上沒有控制或許你可以嘗試使用一個服務器端代理,如this one