我是Phonegap的初学者,在这里我在Android模拟器中执行此参考代码,并在phonegap 2.0中工作以获得简单的输出。运行此代码后,Logcat显示以下错误: xmlHTTPrequest无法加载http://api.careerbuilder.com/v1/jobsearch?DeveloperKey?访问控制不允许原点为null - 允许原点 这里的HTML代码:
<div data-role="page" id="page1">
<div data-role="header" data-theme="b">
<p><center>Career Builder</center></p>
</div>
<div data-role="content" data-theme="d">
<input type="text" id="t1" placeholder="Location....">
<input type="button" id="but" value="Search" onclick=show()><br>
<ul id="list" data-role="listview" data-theme="a" data-filter="true">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
}
function show() {
var val=document.getElementById("t1").value;
$.ajax({
type: "GET",
url: "http://api.careerbuilder.com/v1/jobsearch?&DeveloperKey= my api key",
contentType:"xml/application",
data:{
val:val,
},
dataType: "xml",
success: function(xml)
{
xmlParser(xml);
}
});
}
function xmlParser(xml) {
$(xml).find("JobSearchResult").each(function () {
var com=$(this).find("Company").text();
var job=$(this).find("JobTitle").text();
$("#list").append
('<ul><li>Company Name :' + com + '</li><li>Job Title :' + job + '</li><ul>');
$('#list').listview('refresh');
});
}
答案 0 :(得分:0)
这是由所有现代浏览器强制执行的same-origin policies引起的。阅读how CORS works了解更多详情。基本上问题是您的网页与careerbuilders.com网址不在同一个域,而且CORS标题要么不能被careerbuilders.com正确传输,要么不能通过phonegap正确解释。