Javascript 通过windows传递回调函数,导致ie出错
IE导致两个错误,我有一个问题:Javascript 通过windows传递回调函数,导致ie出错,javascript,internet-explorer-6,jquery,Javascript,Internet Explorer 6,Jquery,IE导致两个错误,我有一个问题: 1.对象不支持此属性或方法 2.呼叫被被叫方拒绝 我的意图: 调用window.opener.myObject方法,该方法将使用ajax检索一些数据并传入回调函数 该函数在弹出窗口中作为嵌套函数存在,它启动了一个调用,该调用将处理响应数据并相应地修改弹出窗口html 下面是一个场景: 我打开了一个弹出窗口来处理一些特定的操作。 此弹出窗口调用window.opener.myObject方法,该方法使用ajax调用。 我正在传递一个弹出窗口函数,该函数将处理响应,
1.对象不支持此属性或方法
2.呼叫被被叫方拒绝 我的意图: 调用window.opener.myObject方法,该方法将使用ajax检索一些数据并传入回调函数 该函数在弹出窗口中作为嵌套函数存在,它启动了一个调用,该调用将处理响应数据并相应地修改弹出窗口html 下面是一个场景: 我打开了一个弹出窗口来处理一些特定的操作。 此弹出窗口调用window.opener.myObject方法,该方法使用ajax调用。 我正在传递一个弹出窗口函数,该函数将处理响应,它可以与ff和safari一起使用,但不能与ie一起使用。 下面是代码示例
//RELEVANT SCRIPT ON POPUP WINDOW
$('#myButton').live('click', function() {
var h = window.opener.myObject, p = { 'p1': 1 };
var responseHandler = function(responseObj) {
//in IE we never got here
if (!responseObj) {
alert('Unexpected error!! No response from server');
return false;
}
//..handle response
};
p.p1 = $('#control').val();
h.executeMethod(p, responseHandler);
});
//RELEVANT SCRIPT ON WINDOW OPENER MYOBJECT
try {
$.ajax({
type: 'POST',
async: true,
url: url,
data: postData,
dataType: "json",
contentType: 'application/x-www-form-urlencoded; charset=utf-8',
success: r, // r here is reference to my responseHandler popup window function
error: handleError
});
} catch (ex) {
alert(ex.message);
}
有什么建议吗 我已经成功了,不确定这是不是正确的方法,但现在它成功了。 我已从以下位置修改了window opener myobject代码: //窗口开启器MYOBJECT上的相关脚本
try {
$.ajax({
type: 'POST',
async: true,
url: url,
data: postData,
dataType: "json",
contentType: 'application/x-www-form-urlencoded; charset=utf-8',
success: r, // r here is reference to my responseHandler popup window function**
error: handleError
});
} catch (ex) {
alert(ex.message);
}
致:
因此,成功jquery ajax处理程序被修改为:
success: function(myResponseObj) {
r.call(null, myResponseObj);
}
现在它可以工作了:-)…我已经让它工作了,不确定这是不是正确的方法,但现在它可以工作了。 我已从以下位置修改了window opener myobject代码: //窗口开启器MYOBJECT上的相关脚本
try {
$.ajax({
type: 'POST',
async: true,
url: url,
data: postData,
dataType: "json",
contentType: 'application/x-www-form-urlencoded; charset=utf-8',
success: r, // r here is reference to my responseHandler popup window function**
error: handleError
});
} catch (ex) {
alert(ex.message);
}
致:
因此,成功jquery ajax处理程序被修改为:
success: function(myResponseObj) {
r.call(null, myResponseObj);
}
它现在起作用了:-)