微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ajax跨域把json改成js

AJAX(Asynchronous JavaScript and XML)通过实现异步请求,使得网站可以在不刷新页面的情况下进行数据交互和更新。而跨域请求则是指用户一个网站发起HTTP请求,但是这个请求的目标却是另一个网站。

ajax跨域把json改成js

跨域请求属于“同源策略”限制的一种,即浏览器规定它只能在同源的环境中进行交互。而同源策略是由浏览器负责监控并执行的,所以使用传统方式进行跨域请求通常会抛出异常。

但是使用AJAX请求,我们可以通过设置HTTP头信息,将请求假装成同源请求,从而绕开了同源策略的限制。而将获取的数据从JSON格式转化为Javascript格式则需要通过具体的操作来实现。

function loadScript(url) {
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.src = url;
    document.getElementsByTagName('head')[0].appendChild(script);
}

var jsonpUrl = 'http://example.com/data/jsonp?callback=parseData';
loadScript(jsonpUrl);

function parseData(data) {
    console.log(data); // 得到 Javascript 对象
}

通过以上代码片段,我们可以看到它的主要思路是:在页面中创建并加载一个新的script元素,并将目标JSONP URL赋值给它。由于我们在URL后面添加了callback参数,所以目标URL将返回一个Javascript函数调用在这函数内部,我们可以执行我们想做的任何操作,因为返回的是Javascript对象。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐