Php jQuery数据类型:
关于jQuery数据类型,我有一个奇怪的问题 我有一个非常简单的PHP程序,它返回一个XML文件(字符串)。看起来像这样:Php jQuery数据类型:,php,jquery,xml,Php,Jquery,Xml,关于jQuery数据类型,我有一个奇怪的问题 我有一个非常简单的PHP程序,它返回一个XML文件(字符串)。看起来像这样: $xmlFile = "sampleXMLFile.xml"; $xml = simplexml_load_file($xmlFile); echo $xml->saveXML(); function myCompleteFunction(xml) { $(xml).find("Row").each(function() {
$xmlFile = "sampleXMLFile.xml";
$xml = simplexml_load_file($xmlFile);
echo $xml->saveXML();
function myCompleteFunction(xml)
{
$(xml).find("Row").each(function()
{
$("#result3").append($(this).attr("myrow"));
});
}
我的客户端/javascript代码通过ajax调用php程序:
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "myPHPFile.php",
dataType: "xml",
success: myCompleteFunction,
complete: mySuccessFunction,
failure: function(data) {
alert("Problem getting XML");
} });
});
“myCompleteFunction”接受XML并将第一个节点简单地写入div元素,如下所示:
$xmlFile = "sampleXMLFile.xml";
$xml = simplexml_load_file($xmlFile);
echo $xml->saveXML();
function myCompleteFunction(xml)
{
$(xml).find("Row").each(function()
{
$("#result3").append($(this).attr("myrow"));
});
}
好的-在IE8中,这很好用。在Firefox和Chrome中,我没有得到任何结果。但是,如果我将数据类型更改为“html”,我会在Firefox和Chrome中得到正确的结果,然后在IE中得到无结果
继续为此疯狂吧。我真的需要为浏览器设置条件逻辑吗
jQuery手册中解释的数据类型:选项似乎足够清晰。我甚至试着不使用数据类型
(根据手册:如果未指定,jQuery将尝试根据MIME推断它
(答复的类型)
我还尝试了多种类型,例如“文本xml”。不好
有人遇到过这个问题吗?任何指示都将不胜感激
多谢各位
p、 我知道我可以在jQuery中读取XML文件。PHP程序生成的XML将涉及更多内容。我只是举个例子
更新:
嗯,我看到Phil关于在XML数据发送之前生成一些东西的评论。当然没有什么明显的迹象。我删除了第一个
saveXML()上方的一个空行;
?>
我还将考虑您关于正确处理jQuery.ajax()回调的其他建议。谢谢
我非常感谢你的帮助 坚持使用“xml”数据类型
,并将其添加到PHP文件中的echo
header('Content-type: text/xml');
另外,您似乎混淆了一些jQuery.ajax()
回调
- 使用
处理返回的数据success
- 使用
(而不是错误(jqXHR、textStatus、errorshown)
)来处理HTTP错误失败
- 在执行了
和success
回调后,使用error
执行一些任务complete