如何使用JSON响应发送跨域ajax请求?

时间:2013-03-14 14:37:43

标签: javascript cross-domain jsonp

各位,

我想发送跨域ajax请求(http://dict.qq.com/dict?q=language),但服务器只提供JSON( Not 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 : 

谢谢!

2 个答案:

答案 0 :(得分:0)

还需要将服务器配置为允许跨域请求,例如:

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

答案 1 :(得分:0)

通常same origin policy会阻止您这样做。 如果您有权访问其他服务器,则可以尝试更改发送的http标头以避开此问题。以下是使用CORS (Cross-Origin Resource Sharing)实现此目的的教程。

如果您无法控制远程服务器,也许您可​​以尝试使用服务器端代理,例如this one