编辑:我在这里错过了两件事.AJAX调用返回的标头中缺少"Content-Type:text/xml",这阻止了JQuery将返回的数据视为文档.一旦正确处理,此代码正确解析并仅输出索引和项目名称.
$("a.getprojects").click(function(d){
d.preventDefault();
var api_token = $("#token").val();
var form_fbod = $("#fbod").val();
$.post("fbinfo.php", {fbod: form_fbod, token: api_token, cmd : 'listProjects', extra:''}, function(returned_xml) {
var output = '';
$(returned_xml).find("project").each(function(){
var project = $(this);
output += project.find("ixProject").text();
output += " ";
output += project.find("sProject").text();
output += "\n";
});
$("#output").val(output);
});
});
Run Code Online (Sandbox Code Playgroud)
原文:我很高兴使用FogBugz API和JQuery来组合我认为将是一个很酷的小工具,但我遇到了JQuery限制.CDATA标签似乎混淆了它.
这是我正在使用的代码:
$("a.getprojects").click(function(d){
d.preventDefault();
var api_token = $("#token").val();
var form_fbod = $("#fbod").val();
$.post("fbinfo.php", {fbod: form_fbod, token: api_token, cmd : 'listProjects', extra:''}, function(xml) {
var output = xml; …Run Code Online (Sandbox Code Playgroud) 我想取一个字符串并将其视为XML.然后我将能够通过jQuery.find与DOM进行查询.在Firefox中一切都运行良好,但我意识到这在IE中不起作用.
我这样做:
var t = "<div><outer><inner>abc</inner><inner>def</inner></outer></div>";
alert("[" + $(t).find("outer").html() + "]");
Run Code Online (Sandbox Code Playgroud)
在Firefox 3中,它打印:
[<inner>abc</inner><inner>def</inner>]
Run Code Online (Sandbox Code Playgroud)
在IE 7中它打印:
[]
Run Code Online (Sandbox Code Playgroud)
有什么办法让这个跨浏览器工作?
谢谢.