次の問題があります。
EasyXDM を使用して、2 つのドメイン間で AJAX 呼び出しを行います。ただし、jQuery 関数から socket.postMessage() を使用すると、起動しません。
次に例を示します。
var socket;
socket = new easyXDM.Socket({
remote: "http://domain.com/provider.php",
onReady: function() {
}
});
// STEP1
socket.postMessage('step1');
$('#form').submit(function(e){
e.preventDefault();
var a = {}
a['login'] = $('input[name=login]').val();
a['password'] = $('input[name=password]').val();
$.ajax({
type: "POST",
url: "/astr/auth.php",
data: a
}).done(function(answer){
// STEP2
socket.postMessage('step2');
});
});
この例では、STEP1 はプロバイダにメッセージを正しく送信しますが、STEP2 では発火さえしません。
window.socket などを使用しようとしましたが、うまくいきませんでした。そして、done(function(answer){}) が正しく起動することを 100% 確信しています。
前もって感謝します!