手机版

Jsonp后跨域方案

时间:2021-09-09 来源:互联网 编辑:宝哥软件园 浏览:

最近在项目中遇到了这样的问题。关于jsonp的跨域问题,通过get传递值是可以的,但是通过post传递值是不可能的。所以我在网上看了很多关于这方面的资料,最后问题解决了。今天我会抽出时间和大家分享。

注意:http://www.t1.com/index.php服务器的网址当然是我在本地配置的,需要改成自己的地址。

客户端代码:

script $(function(){ var URL=' http://www . t1.com/index . PHP ';$.ajax({ type: 'post ',url: url,data: {name: '王雨露' },dataType: 'jsonp ',success : function(result){ console . log(result);} });});/script服务器代码:

?phpif($ _ POST){ $ arr=array(' name '=$ _ POST[' name '],' age '=23);echo JSON _ encode($ arr);}浏览器运行如下:

看运行结果,即使传输模式设置为post,Jquery也会自动转为get。Jsonp真的不支持帖子提交吗?继续折腾.

到目前为止,我终于在stackoverflow找到了一些关于这个的信息。似乎外国人也遇到这样的问题。地址在StackOverflow http://上发给每个人。com/Questions/3860111/如何制作jsonp-请求后规范-内容类型-带jquery

要点如下:

看上图,我们发现箭头标记有变化。不管这么多,折腾了这么久。我们先把它放进程序里,以防万一

客户端更改:添加:交叉域:真修改:数据类型:“JSON”

在服务器端添加标头('访问控制-允许-来源: * ');标题('访问控制-允许-方法:开机自检');标题('访问控制-最大-年龄: 1000 ');

运行结果如下:

在这里我们发现问题终于解决了,但是我们详细观察到请求时间很长。似乎外国人没有一个有效的解决办法。

最后,我想说的是,JSONP要完美支持POST模式真的很难。让我们在这里停下来,折腾很久。

以上内容可能与其他技术点有关。如果你感兴趣,你可以自己研究。这里主要解决的是Jsonp,写得不好。请不要吐出来。谢谢大家!

以上就是本文的全部内容,希望大家喜欢。

版权声明:Jsonp后跨域方案是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。