JQuery ajax json怎样获取外网url返回的数据

2025-01-28 10:53:39
推荐回答(1个)
回答1:

Jquery ajax在请求不同域名(外网)的URL时,由于浏览器安全限制(同源策略)是不允许请求的,将会发生错误。如果想要在这样的场景下获取返回的数据,可以参考下面的方法:

1、搭建服务器做代理捉取跨域请求返回的数据,本地应用页面的ajax请求建立的代理服务器就能间接的实现这样的需求。但是此种做法较为复杂,不建议使用;

2、使用jsonp跨域访问,这种方法是较为普遍的解决方案,其实现原理是:HTML的

提供一个回调函数来接收数据(函数名可约定,或通过地址参数传递), 第三方产生的响应为json数据的包装(故称之为jsonp,即json padding),形如:    

callback({"name":"hax","gender":"Male"})

这样浏览器会调用callback函数,并传递解析后json对象作为参数。本地脚本可在callback函数里处理所传入的数据。  

示例代码:

使用jsonp需要后端代码配合, 后台返回的json外面需要由回调函数包裹。