浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法

前端之家收集整理的这篇文章主要介绍了浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

由于同源策略的缘故,ajax不能向不同域的网站发出请求。

比如a站localhost需要向b站请求数据,地址为:PHP">http://www.walk-sing.com/api.PHP

请求的代码如下:

访问该页面页面空白,按F12打开控制台,可以看到截图所示信息:

解决方案1:jsonp

我们先来看这样一个例子:

执行结果:

我们也可以这样写:

也可以得到截图所示结果。

解决方案二:CORS(跨域资源共享,Cross-Origin Resource Sharing)

不知道大家发现了没有,jsonp只能发送get请求,而如果业务中需要用到post请求时,jsonp就无能为力了。

这时候cors(跨域资源共享,Cross-Origin Resource Sharing)就派上用处了。

CORS的原理:

CORS定义一种跨域访问的机制,可以让AJAX实现跨域访问。CORS 允许一个域上的网络应用向另一个域提交跨域 AJAX 请求。实现此功能非常简单,只需由服务器发送一个响应标头即可。 就拿前面第一个例子来说,我只要在api.PHP文件加上如下一句话即可:

再次请求该接口,结果如下截图所示:

以上所述是小编给大家介绍的jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/js/41968.html

猜你在找的JavaScript相关文章