微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Phonegap在请求的资源上不存在“ Access-Control-Allow-Origin”标头因此,不允许访问原始“空”

如何解决Phonegap在请求的资源上不存在“ Access-Control-Allow-Origin”标头因此,不允许访问原始“空”

只要在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。

例如:

echo "{message:\"hi\"}";

解决方法

在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";

?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。