0

我使用 jquery 1.9.1 在 ruby​​ on rails (3.2.11) 中工作......在我的应用程序中,我用 javascript 开发了一个聊天。

IE9 一切正常,在 IE8 中调用

function refresh_contacts() {       
 url = $('#refresh_contacts_url').val()
 $.ajax(url)
}

我在主题中遇到错误...我试图隔离问题,似乎是ajax调用(只是调用,即使被调用函数上没有代码,所以我认为是调用本身引发了问题)...

引发错误的代码(如 IE 调试器所示)在 jquery 中(在第 603 行附近,未缩小,版本 1.9.1):

globalEval: function( data ) {
    if ( data && jQuery.trim( data ) ) {
        // We use execScript on Internet Explorer
        // We use an anonymous function so that context is window
        // rather than jQuery in Firefox
        ( window.execScript || function( data ) {
            window[ "eval" ].call( window, data );
        } )( data );
    }
},

我尝试了几种我在网上找到的解决方法,比如使用 async: false 和使用 XMLHttpRequest 作弊,但没有运气......

Tnx,法比奥

4

1 回答 1

0

实际上问题出在window[ "eval" ].call( window, data ).

解决这个问题的最好方法是使用Edge或IE中的开发者工具,并在调用的行上放置一个断点。然后您将能够看到data变量中的内容。复制数据的内容并将其放入一些 js 验证器(例如esprima 验证器)。它应该为 IE 显示有问题的行。然后更正您的代码,您就可以开始了!

于 2019-10-30T07:59:54.530 回答