easyXdm ライブラリを使用してクロスドメイン AJAX 投稿を機能させようとしています。
私のローカル開発環境には、次の 2 つのサイトがあります。
1. http://localhost/MySite/ws/easyXDM/cors/index.html (EasyXdm ファイル) 2. http://localhost/MyClientSite/TestPage.html (ここからの AJAX 投稿)
TestPage.html (AJAX ポスト)
var rpc = new easyXDM.Rpc({
remote: "http://localhost/MySite/ws/easyXDM/cors/index.html"
},
{
remote: {
request: {}
}
});
rpc.request({
url: "http://localhost/MySite/ws/MyService.asmx/DoSomething",
method: "POST",
data: jsonData
}, function(response) {
console.log(JSON.parse(response.data));
$('#thanksDiv').fadeIn(2000, function () {
$('#thanksDiv').fadeOut(4000);
});
});
AJAX の投稿を行うと、ブラウザーのコンソールに次のように表示されます。
easyXDM present on 'http://localhost/MySite/ws/easyXDM/cors/index.html?xdm_e=http%3A%2F%2Flocalhost%2FMyClientSite%2FTestPage.html&xdm_c=default884&xdm_p=4
native JSON found
easyXDM.Rpc: constructor
{Private}: preparing transport stack
{Private}: using parameters from query
easyXDM.stack.SameOriginTransport: constructor
easyXDM.stack.QueueBehavior: constructor
easyXDM.stack.RpcBehavior: init
{Private}: firing dom_onReady
... deferred messages ...
easyXDM.Rpc: constructor
{Private}: preparing transport stack
{Private}: using parameters from query
easyXDM.stack.SameOriginTransport: constructor
easyXDM.stack.QueueBehavior: constructor
easyXDM.stack.RpcBehavior: init
... end of deferred messages ...
easyXDM.stack.SameOriginTransport: init
easyXDM.stack.RpcBehavior: received request to execute method request using callback id 1
easyXDM.stack.RpcBehavior: requested to execute procedure request
easyXDM.stack.QueueBehavior: removing myself from the stack
問題: Web サービスが実際にデータを受信しません。これは、私の AJAX post success 関数が表示thanksDiv
され、* データベースにレコードが作成される必要があるため明らかです。
注:クライアントのサイトで Internet Explorer 6 および 7 の問題を解決するために easyXdm を使用する必要があるため、既存の AJAX ポスト コードを置き換えます。
追加情報: 私の easyXdm ファイルが配置されているファイル構造は次のとおりです。
/ws/easyXDM/easyXDM.debug.js
/ws/easyXDM/easyXdm.swf
/ws/easyXDM/json2.js
/ws/easyXDM/name.html
/ws/easyXDM/cors/index.html