2011-06-10 93 views
0

我们试过了,请检查并给出建议。在Safari中,XML响应不起作用

function GetXmlHttpObject() 
{ 
    var objXMLHttp=null; 
    if (window.XMLHttpRequest) 
    { 
     objXMLHttp=new XMLHttpRequest(); 
    } 
    else if (window.ActiveXObject) 
    { 
     objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP"); 

    } 
    return objXMLHttp; 
} 


function show(url,did) 
{ 
    divId=did; 
    xmlHttp=GetXmlHttpObject(); 
    if (xmlHttp==null) 
    { 
     alert ("Browser does not support HTTP Request"); 
     return; 
    } 
    if(url.indexOf("?")!=-1) 
    url=url+"&sid="+Math.random(); 
    else 
    url=url+"?sid="+Math.random(); 

    xmlHttp.open("GET",url,true); 
    xmlHttp.onreadystatechange=stateChanged; 
    xmlHttp.send(null); 

} 

function stateChanged() 
{ 

    if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete") 
    { 
     document.getElementById(divId).style.display='block'; 
     document.getElementById(divId).innerHTML=xmlHttp.responseText; 
    } 
} 
+0

因为您的代码不使用jQuery,你不要提及它与问题的关系如何删除标签。如果你真的有一个jQuery相关的问题,请随时添加一些信息 – gnarf 2011-06-10 11:21:55

回答

0

看起来你不是在这里使用jQuery。 Ajax在浏览器中的处理方式非常不同,但jQuery提供了抽象,因此您不必担心它。 看到API文档,无论是较低级.ajax()方法,或一些更简单的速记方法,如.get().post()

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

+0

我们已经使用这个,但这也不工作... – gautamtak 2011-06-10 13:24:17

+0

你可以给我另一个解决方案,在safari中 – gautamtak 2011-06-10 13:24:42

+0

,没有显示在div上的响应ID。 – gautamtak 2011-06-13 05:21:15

0

尝试用替换逻辑||操作者&&

function stateChanged() 
{ 
    if (xmlHttp.readyState == 4 && xmlHttp.status == 200) 
    { 
     document.getElementById(divId).style.display='block'; 
     document.getElementById(divId).innerHTML=xmlHttp.responseText; 
    } 
} 
+0

thanks.its不工作... – gautamtak 2011-06-10 13:21:29

+0

什么不起作用?哪一部分? – atlavis 2011-06-10 18:48:11