javascript - 我如何为 IE 调试这个 ajax 脚本?

标签 javascript ajax internet-explorer

我在页面中有一个 AJAX 脚本,在 firefoex 中运行得很好,没有错误,但 IE6 加载页面时状态栏上有一个丑陋的错误图标。我可以修复/调试这个问题的最佳方法是什么?

这是错误报告:

alt text

我多次检查了第 323 行,这是函数:

function checkAvailability(){

   var card_select  = document.getElementById('card_select').value;
   var price_select = document.getElementById('price_select').value;
   var num_of_cards = document.getElementById('num_of_cards').value;
   var url = 'checkAvailability.php?cardName=' + card_select + '&value=' + price_select + '&amount=' + num_of_cards;

   var xmlhttp;
            if (window.XMLHttpRequest)
            {
                // code for IE7+, Firefox, Chrome, Opera, Safari
                xmlhttp = new XMLHttpRequest();
            }
            else if (window.ActiveXObject)
            {
                // code for IE6, IE5
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else
            {
                alert("Your browser does not support XMLHTTP!");
            }

            xmlhttp.onreadystatechange =    function()
                                            {
                                                if(xmlhttp.readyState == 4 && xmlhttp.responseText) /**** line 323 ****/
                                                {
                                                    document.getElementById('submit_button').className      = 'hidden';
                                                    document.getElementById('div_error_massage').className  = 'anounce_div';
                                                    document.getElementById('error_massage').innerHTML      = xmlhttp.responseText;
                                                    document.getElementById('num_of_cards').className       = 'red_inputs';
                                                }
                                                else if(isNaN(num_of_cards))
                                                {
                                                    document.getElementById('submit_button').className      = 'hidden';
                                                    document.getElementById('num_of_cards').className       = 'red_inputs';
                                                    document.getElementById('div_error_massage').className  = 'hidden';

                                                }
                                                else if(num_of_cards != "" && !xmlhttp.responseText) 
                                                {
                                                    document.getElementById('submit_button').className      = '';
                                                    document.getElementById('error_massage').innerHTML      = 'Total: $' + document.getElementById('price_select').value * document.getElementById('num_of_cards').value  + '.00';
                                                    document.getElementById('div_error_massage').className  = 'anounce_div';

                                                }
                                                else
                                                {
                                                    document.getElementById('submit_button').className      = 'hidden';
                                                    document.getElementById('num_of_cards').className       = 'red_inputs';
                                                }
                                            }




            xmlhttp.open("GET",url,true);
            xmlhttp.send(null);

}

最佳答案

在 IE 中,您可以尝试旧的 script debuggerVisual Web Developer Express 。当错误抛出时,进入调试器并检查 xmlhttp

关于javascript - 我如何为 IE 调试这个 ajax 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/930815/

相关文章:

javascript - Rails 使用 AJAX 删除评论

javascript - 获取提交到服务器的 AJAX 请求返回的数据

java - 如何设置可执行 IE 11 驱动程序的路径

javascript - 关于如何在phonegap中设置sqlite DB的说明

javascript - 缩放和裁剪视频源

php - 如何在调查中开发子页面?

javascript - 动态替换字符串中的冒号和逗号

c# - ajax 不断发布过时的值

javascript - 在 Internet Explorer 11/Edge 中使用谷歌按钮登录

html - 在包装器 CSS IE 问题中将 2 个 Div 居中