无法在跨域上使用JSONP发布数据

我们有一个场景,我们需要将数据从我们的域(x.com)发布到不同的域(y.com)。 y.com上的操作归因于HTTPPost ,可以更改。 但是在使用带有HTTPMethod POSTAJAXJSONP将数据发布到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。 这将使您实现目标。