【问题标题】:How can i send cross domain ajax request with JSON response?如何使用 JSON 响应发送跨域 ajax 请求?
【发布时间】:2013-03-02 23:28:59
【问题描述】:

伙计们,

我想发送一个跨域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 : 

谢谢!

【问题讨论】:

标签: javascript cross-domain jsonp


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-24
      • 2011-04-05
      • 2017-06-17
      • 2016-10-02
      • 2012-12-04
      • 2016-12-01
      • 2012-12-22
      • 2020-06-30
      相关资源
      最近更新 更多