在phonegap 中,我在使用 jQuery AJAX 调用 PHP 文件时遇到问题。调用文件时出现的错误是:
请求的资源上不存在“Access-Control-Allow-Origin”标头
谷歌表示要放置这段代码header('Access-Control-Allow-Origin: *');
在当前 PHP 文件头中。我把代码放在标题中,但仍然没有改变。我已附上我的jsfidde用它。
文件connectionsqlphp.php
代码在这里
<?php
header('Access-Control-Allow-Origin: *');
header('Content-Type: application/json');
echo "hi";
?>
只要在 config.xml 中正确配置访问源,phonegap/cordova 中就不应该存在跨源问题。
如果您错过了一些 CORS 标头,那么在从浏览器进行测试时出现此消息是正常的。尝试添加:
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST');
但同样,phonegap 应用程序不需要这些标头。
当你这样做时echo "hi";
,您不是发送 json,而是发送文本“hi”。 (仅在标头中写入 json 不会格式化您回显的内容)。
我认为你应该使用$.get
在 javascript 中并删除header('Content-Type: application/json');
来自 php,以便应用程序需要一个简单的文本或修改您的 php 以真正发送 JSON。
for ex:
echo "{message:\"hi\"}";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)