我知道有很多关于此的问题,但我还没有找到一个实际上有帮助的问题。
我正在使用Phonegap制作一个应用程序,该应用程序利用内部REST API来检索新闻项目。我正在使用jQuery 1.10.2(以及jQuery mobile 1.3.2和mustache.js)。当我在本地xampp服务器上测试时,一切正常,它只在编译并部署到设备时停止工作。
以下是我当前的$.ajax
来电(在deviceReady
上调用):
$.support.cors = true;
$.mobile.allowCrossDomainPages = true;
// Load news items.
$.mobile.loading("show");
$.ajax({
type: "GET",
cache: false,
url: "http://mynewsapi.com/items",
dataType: "jsonp",
timeout: 10000, // 10 seconds
error: function(xhr, status, exception){
$("#msg").text("Error: "+status+" - "+exception);
$.mobile.loading("hide");
},
success: function(data){
$("#msg").text("Got JSONP response");
console.debug(data);
for (var i = 0; i < data.items.length; i++) {
data.items[i].image = data.imageHost+data.items[i].image;
html = Mustache.render('<li><a href="#article?id={{id}}" data-transition="slidefade"><img src="{{image}}" style="top:auto"><h2>{{title}}</h2></a></li>', data.items[i]);
$("#newsList").append(html);
$("#newsList").listview("refresh");
};
$.mobile.loading("hide");
}
});
$.support.cors
和$.mobile.allowCrossDomainPages
<access origin="*" />
Access-Control-Allow-Origin: *
标题使用JSONP时,我收到错误parsererror - Error: jQueryxxx_xxx was not called
,使用普通JSON时,我会得到error - Unknown
。
我已经没事了。为什么这不起作用?