需要确保我的ajax脚本设置正确

时间:2012-06-12 00:15:57

标签: ajax

ajax代码:

try { 
    xmlhttp = new XMLHttpRequest(); 
} 
catch(ee) { 
    try { 
        xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch(e) { 
        try { 
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
        } 
        catch(E) { 
            xmlhttp = false; 
        } 
    } 
} 
div_base = ""; 
valor = 0; 

function abre(arquivo,metodo,div) { 
    div_base = div; 
    valor++; 
    xmlhttp.open(metodo,arquivo+"?valor="+valor); 
    xmlhttp.onreadystatechange=response 
    xmlhttp.send(null) 
} 

function response() { 
    nova_div = div_base; 
    document.getElementById(nova_div).innerHTML="<div>Loading...</div>" 
    if (xmlhttp.readyState==4) { 
        document.getElementById(nova_div).innerHTML=xmlhttp.responseText 
    } 
} 

html代码:

<form> 
    <select name="menu" style="width:400px; height:25px;">
        <option>Change Theme:</option>
        <option></option>
        <option onclick="javascript: abre('Chat_Themes/Default.html','GET','response2');">Default - Shadow Hunters</option> 
        <option onclick="javascript: abre('Chat_themes/Custom.html','GET','response2');">Custom - Shadow Hunters</option>  
    </select> 
</form>
<br />
<div id="response2"></div> 

我将“div = responce”更改为“div = responce2”而不更改顶部的ajax代码,我不确定是否必须更改ajax代码或者我可以离开它并且它的工作方式很好它是,但它不适用于谷歌chrome idk如果它只是谷歌铬被阻止,但它的工作在ff,即好,任何想法?

1 个答案:

答案 0 :(得分:1)

尝试缩进代码:您会发现try-catch语句没有匹配的大括号。您也可以尝试使用jshint之类的Javascript验证服务,但应首先缩进。

您可能需要考虑使用已具有跨浏览器AJAX功能的第三方库,例如jQuery