使用从php文件生成的XML时,Jquery/XML没有响应
我想使用Jquery加载一个xml文件。xml是使用php脚本生成的(目前仅使用echo),我的问题是该文件将不会生成结果。下面列出了我的Jquery使用从php文件生成的XML时,Jquery/XML没有响应,jquery,xml,ajax,Jquery,Xml,Ajax,我想使用Jquery加载一个xml文件。xml是使用php脚本生成的(目前仅使用echo),我的问题是该文件将不会生成结果。下面列出了我的Jquery $(document).ready(function() { $.ajax({ type: "GET", url: "phpxml.php", dataType: "xml
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "phpxml.php",
dataType: "xml",
success: displayXml
});
function displayXml(data){
$(data).find("sites").each(function() {
var heading = $(this).find("name").text();
var output = "<li>";
output += "<h2>" + heading + "</h2>";
output += "</li>";
$("#place-holder").append(output);
});
}
}); // doc ready
</head>
<body>
<h2> Ajax / Jquery Test </h2>
<ul id='place-holder'>
</ul>
</html>
$(文档).ready(函数()
{
$.ajax({
键入:“获取”,
url:“phpxml.php”,
数据类型:“xml”,
成功:displayXml
});
函数displayXml(数据){
$(数据)。查找(“站点”)。每个(函数(){
var heading=$(this.find(“name”).text();
var输出=“”;
输出+=“”+标题+“”;
输出+=“ ”;
$(“#占位符”)。追加(输出);
});
}
}); // 医生准备好了吗
Ajax/Jquery测试
下面是我的php文件,它只是回显xml。有人能提供一些建议吗
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "phpxml.php",
dataType: "xml",
success: displayXml
});
function displayXml(data){
$(data).find("sites").each(function() {
var heading = $(this).find("name").text();
var output = "<li>";
output += "<h2>" + heading + "</h2>";
output += "</li>";
$("#place-holder").append(output);
});
}
}); // doc ready
</head>
<body>
<h2> Ajax / Jquery Test </h2>
<ul id='place-holder'>
</ul>
</html>
<?php
echo '<?xml version="1.0" encoding="iso-8859-1" ?>';
echo"
<sites>
<name>
J Smith
</name>
<name>
A Coxhead
</name>
<name>
D Wilson
</name>
</sites>
" ;
?>
Firebug或类似产品告诉您有关响应的信息是什么?首先,您的ajax请求是否得到响应
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "phpxml.php",
dataType: "xml",
success: displayXml
});
function displayXml(data){
$(data).find("sites").each(function() {
var heading = $(this).find("name").text();
var output = "<li>";
output += "<h2>" + heading + "</h2>";
output += "</li>";
$("#place-holder").append(output);
});
}
}); // doc ready
</head>
<body>
<h2> Ajax / Jquery Test </h2>
<ul id='place-holder'>
</ul>
</html>
另外,在displayXml函数中放置一个断点(或警报),以确保它正在启动…好吧,看来您还没有在phpxml.php文件中设置内容类型
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "phpxml.php",
dataType: "xml",
success: displayXml
});
function displayXml(data){
$(data).find("sites").each(function() {
var heading = $(this).find("name").text();
var output = "<li>";
output += "<h2>" + heading + "</h2>";
output += "</li>";
$("#place-holder").append(output);
});
}
}); // doc ready
</head>
<body>
<h2> Ajax / Jquery Test </h2>
<ul id='place-holder'>
</ul>
</html>
试试看
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "phpxml.php",
dataType: "xml",
success: displayXml
});
function displayXml(data){
$(data).find("sites").each(function() {
var heading = $(this).find("name").text();
var output = "<li>";
output += "<h2>" + heading + "</h2>";
output += "</li>";
$("#place-holder").append(output);
});
}
}); // doc ready
</head>
<body>
<h2> Ajax / Jquery Test </h2>
<ul id='place-holder'>
</ul>
</html>
确保不会发送php标记和其他wise头之前不应有空格。尝试将错误回调添加到
$.ajax
$(document).ready(function()
{
$.ajax({
type: "GET",
url: "phpxml.php",
dataType: "xml",
success: displayXml
});
function displayXml(data){
$(data).find("sites").each(function() {
var heading = $(this).find("name").text();
var output = "<li>";
output += "<h2>" + heading + "</h2>";
output += "</li>";
$("#place-holder").append(output);
});
}
}); // doc ready
</head>
<body>
<h2> Ajax / Jquery Test </h2>
<ul id='place-holder'>
</ul>
</html>
如果这确实是您的代码的样子,那么在调用
displayXml
之前您有空格吗?是否有任何内容写入到#placeholder
?如果不将数据类型放入$,则内容类型是必需的。ajax