2010-06-25 3 views
1

안녕하세요, 저는 데이터베이스 서버에 대한 ajax 요청을 가져 왔으며 반환 데이터 유형은 xml이지만 IE는 렌더링 할 수 없습니다. 하지만 크롬에 works.what 아마도 내 codeActually 잘못 될 수있는 server.the 요소에 대한 응답을 얻을 내 XML 문서에 사용하고 있습니다 요소 이름 ,,, 그리고 더 notthing. 그래서 나는 정말로 문제가 어디에 놓여 있는지 알지 못한다.

$.ajax({ 
     url:'gethint.php', 
     type:'GET', 
     data:'p=p' + '&cust_uid=i', 
     datatype:'xml', 
     timeout:5000, 
     error:function(){alert('unable to establish connection to the server ');}, 
     success:function(xml){outputResponseXML(xml);} 
    }); 
    function outputResponseXML(xml) 
{ 
    $('div#me').empty(); 
    var element =$(xml).find('USER'); 
     if(element.length>0) 
      { 

      $(xml).find('USER').each(
      function(index) 
       { 

        var ename= ($(this).find('ENAME').text()=='E')?'':$(this).find('ENAME').text(); 
        var operator=($(this).find('OPERATOR').text()=='E')?'':$(this).find('OPERATOR').text(); 
        var pnr =($(this).find('PNR').text()=='E')?'':$(this).find('PNR').text(); 
        var inr=($(this).find('INR').text()=='E')?'':$(this).find('INR').text(); 
        var $newDiv= $('<div class=\"items\" id =\"'+inr +'\">' 
           +ename+'<br/>'+operator+ 
           '<br/>'+ pnr+'</div>'); 
            $newDiv.appendTo('div#me'); 
            }); 

          } 
          else 
          { 
           $('div.me').html('no suggestions found'); 
          } 
} 
+0

응답을 게시 할 수 있습니까? IE는 XML의 실제 HTML 요소 인 요소 이름을 좋아하지 않습니다. –

+0

acept rate을 확인하십시오! – Thariama

+0

나는 당신이 전에 비슷한 질문을 한 것을 알고 있습니다. http://stackoverflow.com/questions/3081071/convert-a-string-to-xml-doc-with-jquery-or-the-other-way-round ** Aaron **의 답변이 도움이 되었습니까? 그것은 작동해야합니다. 사용중인 IE에서 "추가 기능"이 비활성화되어 있습니까? 일부 설치에서는 분명히 발생합니다. – user113716

답변

1

"gethint.php"페이지에 문제가 있다고 생각합니다.

시도는 당신의 PHP 페이지의 헤더 설정 :

<?xml version="1.0" encoding="utf-8"?> 

이 보장 (첫 번째 줄을이어야 함) 귀하의 XML 결과에서이 라인을 인쇄하는 것을 잊지

 
header("Content-Type: text/xml; charset=utf-8", true); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Expires: -1"); 
header("Pragma: no-cache"); 

을 그리고 해달라고 Internet Explorer에서 올바르게 읽습니다.

변경 후 캐시를 지우십시오.

도움이된다면 기쁩니다. 나쁜 영어는 죄송합니다. 제 기본 언어가 아닙니다.

+0

당신의 영어는이 게시물에서 거의 완벽합니다. 당신은하지 말고 그냥 놓치 셨습니다. –

+1

+1. Content-Type이 핵심입니다. 스크립트가 XML이라고 말할 수 없다면 파싱을 방해하지 않습니다. responseText는 올바른 데이터를 갖지만 responseXML은'null'이됩니다. 사이트 트래픽이 많고이 파일이 많이로드되면 브라우저 쪽 캐싱을 비활성화하면 매우 부정적인 영향을 줄 수 있습니다. – Andrew

관련 문제