无法在跨域上使用JSONP发布数据
我们有一个场景,我们需要将数据从我们的域(x.com)发布到不同的域(y.com)。 y.com上的操作归因于HTTPPost
,可以更改。 但是在使用带有HTTPMethod POST
的AJAX
和JSONP
将数据发布到y.com时,请求会自动转换为HTTPMethod GET
。
你不能使用JSONP进行 POST(看这里和这里 ),因为它不会那样工作 – 它创建一个元素来获取数据,这必须通过GET请求来完成。 JSONP解决方案不使用
XmlHttpRequest
对象,因此它不是标准理解方式的AJAX请求,但内容仍然是动态访问的 - 对最终用户没有区别。
JSONP确实可以用于克服相同的源策略限制,但是您也可以使用CORS ,在现代浏览器中实现, 替代 JSON和Padding。
JSONP
请求是GET
请求,不能使用POST
请求。 如果您想发送一个post请求,请查看跨源资源共享。
解决您可以做的事情是使用postMessage解决CrossDomain通信,这是HTML5的一项新function。 但是,为了让您解决它,您需要使用iframe,如果您不想显示某些iframe,可以使用display:none css属性创建1x1px。 这将使您实现目标。