IE9中的Ajax/jQuery/PHP,而不是IE8或更低版本
我的jQuery/AJAX脚本发布到一个php文件,希望返回XML。当我打印数据时,如果我得到了所有返回的html源代码,并且xml没有在IE8或更少版本中正确解析,那么我就会打印。该代码适用于IE9和所有其他浏览器。如果有人对我的问题有什么建议或解决办法 jQuery:IE9中的Ajax/jQuery/PHP,而不是IE8或更低版本,php,jquery,ajax,Php,Jquery,Ajax,我的jQuery/AJAX脚本发布到一个php文件,希望返回XML。当我打印数据时,如果我得到了所有返回的html源代码,并且xml没有在IE8或更少版本中正确解析,那么我就会打印。该代码适用于IE9和所有其他浏览器。如果有人对我的问题有什么建议或解决办法 jQuery: $.post("load-content/", {type: "POST", img: placeholder, dataType: "XML", selection: $(this).html()}, function(xm
$.post("load-content/", {type: "POST", img: placeholder, dataType: "XML", selection: $(this).html()}, function(xml) {
// format and output result
// alert(placeholder+' && '+$(this).html());
nshow = $("content", xml).text() ;
$("div p.p2").html(
$("content", xml).text()
);
alert("HERE IE 9+ "+xml.length);
});
php:
if(isset($请求[“img”])和&isset($请求[“选择”])){
$xml='test';
echo$xml;
*仅供参考此代码正在Zencart文件夹中运行事实上,我认为您的问题在于进行ajax调用本身。您正在使用,但您正在提供选项哈希,就好像它是一样。两者是不同的 将url、数据、回调和响应类型作为参数。您提供的哈希值与您将提供的哈希值类似,作为第二个参数,但不是它想要的 如果您要使用它,应该如下所示:
$.post("load-content/", {img: placeholder, selction: whatever}, function(), 'xml');
此外,调用的内容也不明确…此
可能不存在,除非它位于事件处理程序或jQuery中。因此使用选择:$(this).html()
的每次
迭代可能没有意义
您是否尝试过为您的响应设置适当的标题并立即退出
if(isset($_REQUEST["img"]) && isset($_REQUEST["selection"])) {
header('Content-type: application/xml');
$xml='<ratings><content>test</content></ratings>';
echo $xml;
exit(0);
}
if(isset($请求[“img”])和&isset($请求[“选择”])){
标题('Content-type:application/xml');
$xml='test';
echo$xml;
出口(0);
}
已解决。这里有两个问题
$.post("/load-content/", {type: "POST", img: showcase, menuv: aname}, function(response) { ...
我认为问题在于,标题包含在另一个文件中,我正在尝试重新运行xml。因此,如果我更改了数据类型,那么我将获得所有信息,但我需要从响应中删除标题,或者从页面中删除标题,然后使用上面的xml标题。知道如何从php fi中删除标题吗le还是AJAX响应?最简单的解决方案可能是使用jQuery
text
数据类型,然后在回调中手动创建一个xml dom……否则您将不得不研究ZenCart文档,看看是否有有效的方法覆盖它要发送的头。因为它的ZenCart我怀疑这是否可行这意味着您需要修改核心文件,这可能不是一个好主意。我收回这一点…您正在使用worng参数来$。post
查看我的更新。
$.post("/load-content/", {type: "POST", img: showcase, menuv: aname}, function(response) { ...