在phonegap中,我在使用jQuery AJAX调用PHP文件时遇到了问题。调用文件时发生的错误是:
请求的资源
上没有'Access-Control-Allow-Origin'标头
Google表示将此代码header('Access-Control-Allow-Origin: *');
放在当前的PHP文件头中。我把代码放在标题中,但仍然没有变化。我附上了我的jsfidde。
文件connectionsqlphp.php
代码在这里
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
echo "hi";
?>
答案 0 :(得分:9)
只要在config.xml中正确配置访问源,就不会在phonegap / cordova中出现交叉原点问题。
如果您错过了一些CORS标题,那么在从浏览器进行测试时,您会收到此消息是正常的。请尝试添加:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
但是再一次,你不需要那些标题用于手机应用程序。
当您执行echo "hi";
时,您不会发送json,而是发送文本“hi”。 (只是在标题中写入json不会格式化你回显的内容)。
我认为你应该在javascript中使用$.get
并从php中删除header('Content-Type: application/json');
以便应用程序需要一个简单的文本或修改你的php来真正发送JSON。
代表:
echo "{message:\"hi\"}";