伙计们,
我想发送一个跨域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 :
谢谢!
服务器还需要配置为允许跨域请求,例如:
Http.Response.current().accessControl("*", "GET,PUT,POST,DELETE,OPTIONS",false);
通常同源策略会阻止您这样做。如果您有权访问另一台服务器,您可以尝试更改发送的http标头以避免这种情况。这里有一个使用CORS(跨来源资源共享(来实现这一点的教程。
如果你无法控制远程服务器,也许你可以尝试使用服务器端代理,比如这个