Javascript 未激发HashTransport回调的easyXDM rpc
我使用的是EasyXDM2.4.17。 我已经使用远程“tunnel.html”设置了RPC,它使用jQuery进行AJAX调用 对于所有带有postMessage的现代浏览器来说,一切都很好。 当我在ie7上进行测试时,easyXDM会返回到HashTransport,并且一切正常,除了我从未看到AJAX响应。我可以看到请求实际上很好地返回,但我的回调由于某种原因从未被触发 我的tunnel.html文件如下所示:Javascript 未激发HashTransport回调的easyXDM rpc,javascript,jquery,internet-explorer-7,easyxdm,Javascript,Jquery,Internet Explorer 7,Easyxdm,我使用的是EasyXDM2.4.17。 我已经使用远程“tunnel.html”设置了RPC,它使用jQuery进行AJAX调用 对于所有带有postMessage的现代浏览器来说,一切都很好。 当我在ie7上进行测试时,easyXDM会返回到HashTransport,并且一切正常,除了我从未看到AJAX响应。我可以看到请求实际上很好地返回,但我的回调由于某种原因从未被触发 我的tunnel.html文件如下所示: <!DOCTYPE html> <html>
<!DOCTYPE html>
<html>
<!--[if lt IE 9]>
<script type="text/javascript" language="javascript" src="https://mydomain.net/json2.min.js"></script>
<![endif]-->
<script src="https://mydomain.net/easyXDM-2.4.17.js"></script>
<script src="https://mydomain.net/jquery-1.10.2.min.js"></script>
<script>
function apiTunnel (endpoint, params, method, callback) {
var options = {
url: endpoint,
data: params,
type: method,
complete: function (xhr) {
var response = {};
try {
response.data = JSON.parse(xhr.responseText);
} catch (ex) {
response.error = xhr.responseText;
}
callback(response);
}
};
jQuery.ajax(options);
}
var rpc = new easyXDM.Rpc({}, {local: { apiTunnel: apiTunnel }, serializer: JSON});
</script>
</html>
更新:经过一些调试后,我的响应似乎卡在了队列中。隧道端在主机页的图像上失败。这会阻塞队列,并且从不让AJAX响应通过。有什么想法吗
更新2,如果我设置了一个计时器来移除等待锁,并在2秒后调度队列,它将工作。
我对此感觉不太好,但确实有效。我不确定最初调用失败的原因——如果可能的话,我宁愿修复根问题,我只是不确定我是否完全理解根问题是什么