0

我想从另一个站点启用表单发布。假设我的站点中有一个表单,并且我想为另一个站点启用该表单发布。

我有 asp.net 网页 www.xyx.com\formpost.aspx 与字段 EMail.and 我想启用我的页面表单 post.for 所有任何将数据发布到我的网站的人。喜欢

1)www.test.com\emailpost.php 来自该站点的表单发布。

var str = JSON.stringify($('#myForm').serializeObject());
 $.ajax({
              type: 'POST',
              contentType: 'application/json; charset=utf-16',             
              dataType: 'json',
              url: "www.xyx.com/formpost.aspx/SaveCustomerEmail",
              success: function (msg) {
                  alert('done');
              },
              error: function (msg) { 
                alert(JSON.stringify(msg)) }
          });

2)www.test2.com\emailpost.jsp 来自该站点的表单发布。

var str = JSON.stringify($('#myForm').serializeObject());
 $.ajax({
              type: 'POST',
              contentType: 'application/json; charset=utf-16',             
              dataType: 'json',
              url: "www.xyx.com/formpost.aspx/SaveCustomerEmail",
              success: function (msg) {
                  alert('done');
              },
              error: function (msg) { 
                alert(JSON.stringify(msg)) }
          });
4

2 回答 2

0

两件事情:

  1. 您需要使用完整的 url,例如'http://www.xyx.com/formpost.aspx/SaveCustomerEmail',否则浏览器将寻找www.xyz.com在您的服务器上调用的资源。
  2. 您将遇到Same Origin PolicyjQyery 的.ajax()函数包含一个JSONP数据类型来解决这个问题。服务器当然需要允许跨域请求。
于 2014-03-03T14:07:36.007 回答
0

您需要在接收域 ( www.xyx.com)上设置 CORS 策略

header("Access-Control-Allow-Origin: *");

允许来自任何域的请求。

有关 CORS 的更多相关信息,请参阅: http: //fritsvancampen.wordpress.com/2013/02/03/cross-site-origin-requests-aka-cross-origin-resource-sharing/

于 2014-03-03T14:05:42.400 回答