总而言之,我已经向数据库服务器发出了ajax请求,并且返回数据类型是xml,但是IE无法呈现它。但是在chrome上它可行。在我的代码中可能出错了实际上我对服务器没有任何响应。我在xml doc中使用的元素名称是,,,而且还有更多。所以我真的不知道问题出在哪里。
$.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 :(得分:1)
我认为问题出在您的“gethint.php”页面上。
尝试将PHP页面的标题设置为:
header("Content-Type: text/xml; charset=utf-8", true); header("Cache-Control: no-cache, must-revalidate"); header("Expires: -1"); header("Pragma: no-cache");
并且不要忘记在XML结果中打印这一行(必须是第一行)
<?xml version="1.0" encoding="utf-8"?>
这保证了Internet Explorer能够正确读取它。
在更改后清理缓存。
如果有帮助我很高兴。 抱歉英语不好。这不是我的主要语言。