xmlhttprequest无法load-origin null访问控制不允许 - 允许原点

时间:2013-11-11 12:07:14

标签: xmlhttprequest

我是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');

});

}

1 个答案:

答案 0 :(得分:0)

这是由所有现代浏览器强制执行的same-origin policies引起的。阅读how CORS works了解更多详情。基本上问题是您的网页与careerbuilders.com网址不在同一个域,而且CORS标题要么不能被careerbuilders.com正确传输,要么不能通过phonegap正确解释。