我的phonegap项目在黑莓模拟器上工作时遇到了问题。版本是10。
当我提到phonegap时,我还没有使用任何Cordova功能,但我的简单javascript函数一开始就不起作用。
我有一个按钮点击,它调用一个Javascript函数。这个JS函数有一个PHP作为URL来检索数据。以下是函数代码:
function getAllDetails() {
var myTable = '';
myTable += '<table id="myTable" cellspacing=0 cellpadding=2 border=1>';
myTable += "<tr><td><b>S.No.</b></td><td><b>Full Name</b></td><td><b>DOB</b></td><td><b>Gender</b></td><td><b>Address</b></td><td><b>Image</b></td><td><b>Video</b></td></tr>";
var url = "http://XXX.XXX.XX.XX:XX/PG_crud_experiment1/retrieve_all.php";
$.getJSON(url, function(json) {
$.each(json, function(i, v) {
alert(v.id);
myTable += "<tr><td>" + v.id + "</td><td>"
+ v.name + "</td><td>" + v.dob
+ "</td><td>" + v.address + "</td><td>"
+ v.image + "</td></tr>";
});
$("#emp_tb1").html(myTable);
});
};这里的问题是我的按钮点击正在进入Javascript函数,但我得到一个错误,它无法访问我的PHP文件所在的URL。PHP实际上正在运行SELECT SQL并从数据库中检索值。
下面是我在BB10模拟器上的错误截图。
有人能告诉我为什么会出现这个问题吗?在设备可以运行一些Javascript功能或访问服务器上的PHP脚本之前,是否需要遵循任何先决条件/过程?XXX
发布于 2013-05-18 19:29:44
解决方案是编辑项目的config.xml文件-添加标记<access subdomains="true" uri="http://*URI name here*"/>。只有这样,Blackberry才允许访问不同域的权限。
发布于 2013-05-17 17:22:06
这可能是一个跨站点的请求问题--我怀疑PHP端不接受来自它自己域之外的请求。
把这个头文件放在PHP文件的顶部怎么样?
header('Access-Control-Allow-Origin: *'); 发布于 2013-05-18 19:36:29
正如anami之前所说的,你需要在你的服务器php文件中启用跨域来源。此外,你还需要在黑莓的config.xml中有<access subdomains="true" uri="http://*URI name here*"/>。
这两个都准备好了,应该可以解决你的问题。
https://stackoverflow.com/questions/16605461
复制相似问题