0

別のサイトからのフォーム投稿を有効にしたい.自分のサイトに 1 つのフォームがあり、別のサイトでそのフォーム投稿を有効にしたいとします。

フィールド EMail. を持つ asp.net Web ページ www.xyx.com\formpost.aspx があり、自分のサイトにデータを投稿するすべての人に対して、自分のページ フォーム post. を有効にしたいと考えています。お気に入り

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

受信側ドメインで CORS ポリシーを設定する必要があります ( www.xyx.com)

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 に答える
0

2つのこと:

  1. のような完全な URL を使用する必要があります。'http://www.xyx.com/formpost.aspx/SaveCustomerEmail'そうしないと、ブラウザはサーバーで呼び出されたリソースを探しwww.xyz.comます。
  2. Same Origin Policyに遭遇することになります。 jQyery の.ajax()関数JSONPには、これを回避するためのデータ型が含まれています。もちろん、サーバーはクロスドメインリクエストを許可する必要があります。
于 2014-03-03T14:07:36.007 に答える