gpt4 book ai didi

javascript - 为什么本地 AJAX 托管与远程 AJAX 托管存在差异?

转载 作者:行者123 更新时间:2023-11-28 07:14:11 25 4
gpt4 key购买 nike

我想我的部分答案与“同源”有关,但我仍然不清楚它何时适用、何时不适用(或者为什么它在一种情况下有效,但在其他情况下不是解决方案) .

我正在使用最新的 jQuery、jQuery mobile 和 Apache/MySQL/PHP 堆栈。客户端是 Windows 7/Firefox 38 或 iPad/PhoneGap

我的 AWS 托管 php 代码提供以下服务来帮助解决“同源”问题:

$http_origin = $_SERVER['HTTP_ORIGIN'];
header("Access-Control-Allow-Origin: $http_origin");

我的应用程序的 Phone Gap 版本按预期工作,从我的 AWS 服务器检索数据并呈现检索到的数据。

从我的笔记本电脑浏览器调用完全相同的代码失败。为什么?

如果我将 AJAX URL 复制/粘贴到浏览器中,它会正确地从 AWS 提取 JSON 数据。

为了解决这个问题,我将输出转储到 console.log。 jQuery AJAX“错误”部分被调用,而不是“成功”部分。如果我使用 Firefox 中的“文件打开”调用 index.html 文件(调用 JS),或者如果我调用本地 apache 托管的 index.html 文件,jQuery ajax 会跳转到“错误”部分,则会出现相同的“错误”结果。 p>

如果我的phonegap 应用程序可以工作,但我的笔记本电脑却不能,为什么?我的意思是,我看到我的应用程序类似于笔记本电脑的网络浏览器。实际上,它们都与我的网络服务器具有不同的来源,因此我预计要么都工作,要么都失败。

如果有人可以帮助澄清那就太好了 - 我已经两次花时间去解决一个只存在于我的开发环境中但在生产中运行良好的问题 - 令人沮丧!

提前感谢大家

最佳答案

您的phonegap配置中是否已将域列入白名单? http://docs.phonegap.com/en/4.0.0/guide_appdev_whitelist_index.md.html

例如:

访问 google.com:

<access origin="http://google.com" />

__阅读它应该会有所改善:https://github.com/phonegap/phonegap-app-developer/issues/169 __

关于javascript - 为什么本地 AJAX 托管与远程 AJAX 托管存在差异?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31026205/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com