jsonp支持post提交吗?
来源:互联网 发布:js中如何实现继承 编辑:程序博客网 时间:2024/05/21 03:54
JSONP是一种非官方协议,可以解决AJAX跨域提交数据情况。
安全部门的同事测试发现,都是GET的请求,相比较而言不如POST安全,还是尽量改了吧。
拖啊拖,终于还有别的业务要这个接口,想了想还是改了吧,反正听人劝吃饱饭嘛 。但是,JSONP真的支持POST提交吗?
先是一天夜里加班无聊,做了一下POST,发现请求发送过去的METHOD为OPTIONS,而不是POST,同时没有得到返回结果。
今天下午抽时间,特意处理一下这个事情。事实证明OPTIONS的状态可能是我拼错东西了,反正今天没有重现。不过当我把数据改为POST后,我发现COOKIE已经生成了,证明我数据提交过去了。但是content里没有返回值,Firebug看不到,但是Fiddler可以看到。
POST提交,firebug之所以看不到的原因是,我的执行跨域了。我执行的域名为localhost,而提交请求的域名为公司域名。
一计不成,又生一计。咋的活人还能让尿憋死?
jQuery里面有N多jsonp的方法,挨个试呗:getScript getJson ajax( 指定dataType为jsonp或script)
发现jQuery的getScript不支持POST,但是其等同于$.ajax(datatype:script)啊,咱再指定type为Post不就成了嘛 。不过改完后,发现还是变成了GET请求,很奇怪,翻看API如下:
“script”: Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string parameter, “_=[TIMESTAMP]“, to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests.
看来,你即使设置为POST,jQuery发现是getScript时,也会自动给你转成GET。测试 datatype为jsonp时 POST请求同样会被转化成GET。
难道是JSONP不支持POST方式发起请求吗?
一个外国友人,和咱遇到同样的问题:http://stackoverflow.com/questions/3860111/how-to-make-a-jsonp-post-request-that-specifies-contenttype-with-jquery
得到的回答是这样的:
找到这篇文章,《JSONP跨域的原理解析》 从文中可以看出,其实使用特殊的方法也是可以支持POST的,不过太过繁琐。作者举的例子为:动态创建iframe方式POST跨域。
最后,我想说的是,要想支持POST方式的JSONP很难,咱就别难为自己了,这个接口不改了 – -!!
安全部门的同事测试发现,都是GET的请求,相比较而言不如POST安全,还是尽量改了吧。
拖啊拖,终于还有别的业务要这个接口,想了想还是改了吧,反正听人劝吃饱饭嘛 。但是,JSONP真的支持POST提交吗?
先是一天夜里加班无聊,做了一下POST,发现请求发送过去的METHOD为OPTIONS,而不是POST,同时没有得到返回结果。
今天下午抽时间,特意处理一下这个事情。事实证明OPTIONS的状态可能是我拼错东西了,反正今天没有重现。不过当我把数据改为POST后,我发现COOKIE已经生成了,证明我数据提交过去了。但是content里没有返回值,Firebug看不到,但是Fiddler可以看到。
POST提交,firebug之所以看不到的原因是,我的执行跨域了。我执行的域名为localhost,而提交请求的域名为公司域名。
一计不成,又生一计。咋的活人还能让尿憋死?
jQuery里面有N多jsonp的方法,挨个试呗:getScript getJson ajax( 指定dataType为jsonp或script)
发现jQuery的getScript不支持POST,但是其等同于$.ajax(datatype:script)啊,咱再指定type为Post不就成了嘛 。不过改完后,发现还是变成了GET请求,很奇怪,翻看API如下:
“script”: Evaluates the response as JavaScript and returns it as plain text. Disables caching by appending a query string parameter, “_=[TIMESTAMP]“, to the URL unless the cache option is set to true. Note: This will turn POSTs into GETs for remote-domain requests.
看来,你即使设置为POST,jQuery发现是getScript时,也会自动给你转成GET。测试 datatype为jsonp时 POST请求同样会被转化成GET。
难道是JSONP不支持POST方式发起请求吗?
一个外国友人,和咱遇到同样的问题:http://stackoverflow.com/questions/3860111/how-to-make-a-jsonp-post-request-that-specifies-contenttype-with-jquery
得到的回答是这样的:
找到这篇文章,《JSONP跨域的原理解析》 从文中可以看出,其实使用特殊的方法也是可以支持POST的,不过太过繁琐。作者举的例子为:动态创建iframe方式POST跨域。
最后,我想说的是,要想支持POST方式的JSONP很难,咱就别难为自己了,这个接口不改了 – -!!
- jsonp支持post提交吗?
- 简易封装 XHR:支持 GET/POST/PUT/DELETE/JSONP/FormData
- c# get post 提交数据 支持cookies net组件
- PHP CURL 模拟POST提交(支持代理)
- jsonp不能post!
- 浅谈JSONP POST跨域
- ajax跨域问题(jsonp(GET提交)以及 CORS (GET POST提交 毫无问题))
- Mvc4 WebApi 支持jsonp
- springmvc支持jsonp
- SpringMvc 支持 jsonP
- springmvc支持jsonp
- solr支持jsonp
- SpringMVC 支持JSONP
- JSONP跨域提交表单
- JSONP跨域提交表单
- Post 提交,参数长度有限制吗?
- spring MVC 配置支持JSONP
- Spring MVC 4.1 支持jsonp
- 浅谈视频播放网站的搭建
- php/4var_dump函数 以及数组,二维数组 php连接mysql数据库
- Object-C的函数调用机制详解--消息
- For Many of You, Zen is Indeed New Information
- 环形缓冲区的实现原理(ring buffer)
- jsonp支持post提交吗?
- 环形缓冲区
- 第十二周实验报告2
- 著作权法规定的职务作品的著作权归属原则
- .NET使用swfupload实现图片批量上传
- 13周任务三:派生类
- 第十三周实验报告(1)
- DX打印XtraGrid
- 第十三周实验报告4