4

我们有一个场景,我们需要将数据从我们的域 (x.com) 发布到不同的域 (y.com)。y.com 上的操作是有属性的HTTPPost,并且可以更改。但是,在使用AJAX和请求将数据发布到 y.comJSONPHTTPMethod POST,会自动转换为HTTPMethod GET.

4

3 回答 3

4

您不能使用JSONP 发布(查看此处此处),因为它不能那样工作- 它创建一个<script>元素来获取数据,这必须通过 GET 请求完成。JSONP 解决方案不使用XmlHttpRequest对象,因此它不是标准理解方式的 AJAX 请求,但内容仍然是动态访问的 - 最终用户没有区别。

JSONP 确实可以用来克服同源策略限制,但您也可以使用CORS,在现代浏览器中实现,以替代带有 Padding 的 JSON。

于 2013-09-21T14:56:55.620 回答
0

作为一种解决方法,您可以做的是使用 postMessage 解决跨域通信,这是 HTML5 的一个新功能。但是,为了解决它,您需要使用 iframe,如果您不想显示某些 iframe,您可以使用 display:none css 属性创建 1x1px。这将使您实现目标。

于 2013-09-25T13:40:44.120 回答
0

JSONP请求是GET请求,不能通过POST请求进行。如果您想发送发布请求,请查看跨源资源共享。

于 2013-09-21T14:56:09.753 回答