0

DBの情報を更新するためにRESTサービスを呼び出すブートストラップで設計されたHTMLページがあります。これがjavascriptです:

$.support.cors = true;

$.ajaxSetup ({
  // Disable caching of AJAX responses
  cache: false,
  async: false
});

$("#submitemail").click(function() {

$.getJSON('http://sub.mydomain.com/getinfo/'+ 
                 encodeURIComponent($('#emailaddress').val()), 
                 function(resp) {
                    //do something here
                  }); 
});

FFで動作します。

IEの使用-デスクトップからhtmlファイルを開いて実行すると...sub.mydomain.comが呼び出され、情報が取得されます。ただし、www.mydomain.comからサイトを開き、メソッドを呼び出すと、何も起こりません。Fiddlerで確認-IEはリクエストを送信しません。

4

1 に答える 1

1

このようにメインドメインからサブドメインを呼び出すことはできません。これは「クロスドメイン」リクエストであり、リクエストは中断されます。www.mydomain.comFFでも動作しないはずです。どうなるかわかりません。

とにかく、サーバーはどのように構築されていますか?sub.mydomain.commydomain.com/内のフォルダは次のとおりです。

トップレベルドメイン:

http_public/mydomain.com/

サブドメイン

http_public/mydomain.com/sub_domains/sub.mydomain.com/

ファイル構造がこのような場合は、ディレクトリへのアクセスを許可して使用できます

url: '/sub_domains/sub.mydomain.com/getinfo'+whatever

それ以外の場合は、使用する必要がありますJSONP

JSONPまたは「JSONwithpadding」は、基本のJSONデータ形式を補完するものです。これは、異なるドメインのサーバーからデータを要求する方法を提供します。これは、同一生成元ポリシーのために通常のWebブラウザーでは禁止されています。

于 2012-04-19T18:47:18.460 に答える