Javascript 通过windows传递回调函数,导致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调用。 我正在传递一个弹出窗口函数,该函数将处理响应,

IE导致两个错误,我有一个问题:
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);
}
它现在起作用了:-)