Javascript 如何为IE调试这个ajax脚本?
我在一个页面中安装了一个AJAX脚本,在firefoex中运行良好,没有bug,但是IE6在状态栏上加载了一个丑陋的错误图标。修复/调试此问题的最佳方法是什么 以下是错误报告: 我已经检查了323行很多次,下面是函数:Javascript 如何为IE调试这个ajax脚本?,javascript,ajax,internet-explorer,Javascript,Ajax,Internet Explorer,我在一个页面中安装了一个AJAX脚本,在firefoex中运行良好,没有bug,但是IE6在状态栏上加载了一个丑陋的错误图标。修复/调试此问题的最佳方法是什么 以下是错误报告: 我已经检查了323行很多次,下面是函数: function checkAvailability(){ var card_select = document.getElementById('card_select').value; var price_select = document.getElemen
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中,你可以试试旧的或旧的。当错误抛出时,进入调试器并检查IE中的
xmlhttp
,您可以尝试旧的或。当错误抛出时,输入调试器并检查xmlhttp
除了outis的答案之外,如果您想控制使用调试器跳转的位置,请使用Javascript的调试器
关键字,该关键字的作用类似于断点。当使用调试器的行时当点击code>时,在IE中您将得到一个提示(如果IE中启用了调试,请检查您的Internet选项),从该行开始启动调试器。在Firefox中,调试器代码>语句由Firebug拾取作为断点。除了outis的答案之外,如果您想控制使用调试器跳转的位置,请使用Javascript的调试器
关键字,该关键字的作用类似于断点。当使用调试器的行时当点击code>时,在IE中您将得到一个提示(如果IE中启用了调试,请检查您的Internet选项),从该行开始启动调试器。在Firefox中,调试器代码>语句被Firebug作为断点拾取。您正在尝试读取!readyState不是4时的xmlhttp.responseText
尝试删除该行,看看IE是否运行。您正在尝试阅读!readyState不是4时的xmlhttp.responseText
尝试删除该行,看看IE是否运行。MS Office附带了一个很好的IE Javascript调试器
一个快速的谷歌展示了这一点:微软Office附带了一个很棒的IE Javascript调试器
一个快速的google将此显示为一个howto:除了检查readyState之外,您可能还需要检查(xmlhttp.status==200)您可能还需要检查(xmlhttp.status==200)除了检查readyState之外