jQuery:在这种情况下如何选择属性?
在我的jQuery ajax方法中,它返回的“数据”格式如下:jQuery:在这种情况下如何选择属性?,jquery,xml,Jquery,Xml,在我的jQuery ajax方法中,它返回的“数据”格式如下: <root> <result sender='BlackSmith' nickName='Blac'></result> <result sender='AristleJohnson' nickName='AJ'></result> . . . </root> 但是,该警报从未显示,这意味着$(data).find('r
<root>
<result sender='BlackSmith' nickName='Blac'></result>
<result sender='AristleJohnson' nickName='AJ'></result>
.
.
.
</root>
但是,该警报从未显示,这意味着$(data).find('result')在此处不起作用。你能帮我吗?谢谢。假设您正在将ajax调用的返回值分配给数据变量,那么一切看起来都很好-需要检查一些事项:
- 尝试将数据类型显式设置为XML
- 仔细检查从服务器返回的内容,确认响应不是500ing、404ing或出于任何其他原因返回空响应
- 尝试将数据类型显式设置为XML
- 仔细检查从服务器返回的内容,确认响应不是500ing、404ing或出于任何其他原因返回空响应
- 我的第一个想法是,您的数据集实际上并不包含响应。是否在AJAX调用中实际查找…?一旦离开
success:
函数的作用域,您的响应将被销毁
因此,最重要的是,检查范围:
$.ajax({
type: "GET",
url: "[yoururl]",
dataType: "xml",
success: function(data) {
//this is the only place your $(data) selector will work...
}
});
如果要在其他地方使用数据,则必须将其从ajax调用中传递出去。我的第一个想法是,数据集实际上并不包含响应。是否在AJAX调用中实际查找…?一旦离开
success:
函数的作用域,您的响应将被销毁
因此,最重要的是,检查范围:
$.ajax({
type: "GET",
url: "[yoururl]",
dataType: "xml",
success: function(data) {
//this is the only place your $(data) selector will work...
}
});
如果您想在其他地方使用数据,则必须将其从ajax调用中传递出去。我认为您不能像使用$(数据)那样将HTML/XML传递到jQuery中。通常,所讨论的DOM已经在页面的某个地方,您可以改为使用$(“result”) 在您的例子中,您应该在ajax请求本身中将数据类型转换为“xml”,然后jQuery将实际解析结果并返回
我认为不能像处理$(数据)那样将HTML/XML传递到jQuery中。通常,所讨论的DOM已经在页面的某个地方,您可以改为使用$(“result”) 在您的例子中,您应该在ajax请求本身中将数据类型转换为“xml”,然后jQuery将实际解析结果并返回
我不确定,这就是为什么这是一个注释,但可能是因为结果是字符串,所以代码没有返回任何内容。不过,不要相信我的话。我复制/粘贴了上面的代码,它工作得非常好。所以这可能是一个范围问题。请多粘贴一点jQuery。工作正常:问题出在您没有发布的代码中的某个地方。也要确保XML是有效的。我不确定,这就是为什么这是一个注释,但可能是因为结果是字符串,所以代码没有返回任何内容。不过,不要相信我的话。我复制/粘贴了上面的代码,它工作得非常好。所以这可能是一个范围问题。请多粘贴一点jQuery。工作正常:问题出在您没有发布的代码中的某个地方。还要确保XML是有效的。谢谢。我没有使用数据类型:“xml”,所以它不会将其解析为xml数据。谢谢。我没有使用数据类型:“xml”,因此它不会将其解析为xml数据。
$(document).ready(function(){
$.ajax({
type: "GET",
url: "/sites.xml",
dataType: "xml",
success: function(xml) {
$(xml).find('result').each(function(){
...
});
});
}
});
});