【问题标题】:jQuery UI dialog + Ajax fails with IE 6-7-8IE 6-7-8 jQuery UI 对话框 + Ajax 失败
【发布时间】:2011-01-22 00:26:22
【问题描述】:

我在使用 ajax 时遇到 jQuery-ui 对话框问题

$.ajax({ 
                        url: "folders.php", 
                        cache: false,
                        data: {
                                'do' : 'Ajax'
                                ,'_a' : 'ChangeMoviesFolder'
                                ,'MovieIDS' : MovieIDS
                                ,'toFolderID' : toFolderID
                                ,'fromFolderID' : fromFolderID
                        },
                        context: document.body, 
                        open: function(event, ui) {

                            alert('open');
                        },
                        error : function(XMLHttpRequest, textStatus, errorThrown){
                             // Handle the beforeSend event
//                          alert("responseText: "+errorThrown.message);

                           },

                        success: function(data){
                            $('input.checkMovie').attr('checked',0);
                                $("#resultsTable").find('tr.selectable-row').removeClass('active');


                            if (data == '1')
                            {

                                window.location = WWW_ROOT+'movies.php?do=List&FolderID='+toFolderID;
                            }
                             $dialog.dialog("close"); 
                      }});

当使用 IE ajax 时永远不会得到 success 选项 我错了

"在调用 open 方法之前无法调用此方法"

它只发生在 IE 中。

有谁知道问题出在哪里?

(所有变量都可以,并且在 FF 和 chrome 中完美运行)

谢谢。


经过大量检查 ajax 在 IE 上根本不起作用

我试过了

$.ajax({ 网址:'movies.php',数据:“do=UpdateMovies&_a=SetStatus”, 成功:函数(数据){ alert('某事');

  }});

在函数内部,没有变量,我已经尝试过,就像在中一样

http://api.jquery.com/jQuery.ajax/

它只是不被执行任何帮助将被应用

【问题讨论】:

  • 您是否在调用关闭之前打开对话框?在提出这个请求之前可能吗?
  • yes 对话框打开,用户选择要删除行的文件夹,然后单击“移动行”,移动行按钮激活 ajax 请求

标签: jquery ajax jquery-ui jquery-ui-dialog


【解决方案1】:

您是否尝试过使用 IE 中的开发人员工具来单步执行您的代码并查看正在执行的内容以及变量值是什么? IE 8 通过按 F12 直接内置了一组很棒的工具。

Working with the Internet Explorer Developer Tools

【讨论】:

  • 是的,我试过了,使用 IE 没有错误,所有参数都工作并且有值,唯一的问题是在对话框中使用 $.ajax
【解决方案2】:

jQuery 1.4 和 Sarissa 之间存在冲突。

页面中是否包含 sarissa.js?

类似的报告:

https://jira.jboss.org/jira/browse/RF-8282

http://code.google.com/p/google-web-toolkit/issues/detail?id=3608

http://code.google.com/p/jstree/issues/detail?id=430

对 Sarissa 的这种更改似乎有效。

// _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID(["Msxml2.XMLHTTP.6.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]);
 _SARISSA_XMLHTTP_PROGID = Sarissa.pickRecentProgID(["MSXML2.XMLHTTP", "Microsoft.XMLHTTP"]); 

【讨论】:

  • 谢谢。这为我解决了问题。
  • 为我工作并保存了我的网站启动(在我们在上线前一天从 Prototype 移植到 jQuery 之后!)。谢谢一百万。
  • 我看过这些链接,但没有把共同的线索放在一起。非常感谢。
  • 自动包含 Sarissa 的 Salesforce VisualForce 站点存在此问题。上述解决方案解决了问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多