【发布时间】:2013-09-28 03:20:12
【问题描述】:
我有一个从 Careerbuilders api 中提取数据的代码。该链接在浏览器上测试时运行良好,但我似乎无法从中解析任何内容。愿意告诉我有什么问题吗?
html代码:
<div class="main">
Companies:
</div>
jQuery 代码:
$(document).ready(function () {
$.ajax({
type: "GET",
url: "http://api.careerbuilder.com/v1/jobsearch?DeveloperKey=WDHL4Z86PBQY29Z7ZQQS&Location=Canada",
dataType: "xml",
success: xmlParser(xml)
});
});
function xmlParser(xml) {
$(xml).find("JobSearchResult").each(function () {
$(".main").append(
$(this).find("Company").text()
);
});
}
这是一个 jsfiddle 实例:http://jsfiddle.net/Cc4SY/
【问题讨论】:
-
alert(xml) 或 console.log(xml) 的输出是什么?我的猜测是,你只需要 xml.find()
-
唯一的方法是知道 API 是否提供响应 jsonp 的功能,但由于他们的响应中不包含跨域标头,我认为他们不会支持它(快速搜索并没有找到任何引用 jsonp 的内容)。您需要在其他脚本(如 php)中包装对 Careerbuilder 的 API 的调用,并从 ajax 调用您的 php 脚本。
-
这是嵌入在每个浏览器的 javascript 实现中的限制。如果正在调用 ajax 的站点不支持 jsonp 也不包括跨域标头,那么您无法为 ajax 工作做任何事情。唯一的办法是编写一个中间脚本并从 ajax 调用它。
标签: javascript jquery ruby-on-rails xml xml-parsing