- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我想做什么
从本地 html/javascript 网站发布到在线 PHP 文件。
问题
当我尝试使用下面的代码时,我不断收到下面提到的错误。
背景:
本网站旨在在本地运行。由于每个用户都可以选择他们使用的浏览器,因此我希望找到一种可以解决上述问题的方法,而无需强制修改每个用户的浏览器策略。
这可能吗,如果可能的话如何?
Javascript 代码:
$.ajax({
type: 'POST',
url: 'http://example.com/test.php',
crossDomain: true,
data: "my_request_is=foo",
dataType: 'json',
success: function(responseData, textStatus, jqXHR)
{
console.log(responseData);
},
error: function (responseData, textStatus, errorThrown)
{
console.warn(responseData, textStatus, errorThrown);
alert('CORS failed - ' + textStatus);
}
});
PHP代码(test.php):
<?php
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: POST, GET, OPTIONS');
header('Access-Control-Max-Age: 1000');
header('Access-Control-Allow-Headers: Content-Type');
echo json_encode(array("your_request_was" => $_POST['my_request_is']));
?>
错误:
最佳答案
默认情况下,chrome 不允许跨域请求,chromium 来自 file:
协议(protocol)。您可以使用 --disable-web-security
标志关闭 chrome、chromium 和 launch 的打开实例
google-chrome --disabled-web-security
或通过设置不同的 user-data-dir
google-chrome --disable-web-security --user-data-dir="~/.config/google-chrome-temp"
is there an approach which could accomplish what I need to do, whilst not requiring me to modify the policies of local web-browsers?
不是在chrome,chromium不用修改默认设置;或创建 chromium 扩展程序或应用程序来执行网络请求 - 也需要设置适当的权限
。
限制是有目的的。几个安全问题之一是本地计算机的用户可能在不知不觉中上传了他们计算机上一个或多个目录中的所有文件的列表,并且可能上传了目录本身,而不必意识到这一事实,请参阅
How FileReader.readAsText in HTML5 File API works?
哪个;请注意,也可能在没有设置标志的情况下发生。或者,请求的脚本可以执行读取或写入本地文件系统的操作,而用户不一定知道外部脚本正在访问他们的本地文件系统。
尽管存在限制,用户必须执行肯定操作以禁用默认设置,这些默认设置限制从 file:
协议(protocol)访问本地文件系统,并限制本地文件系统从 null
origin
到不同的来源。
正如@StefanoBalzarotti 所指出的
sorry if I am fussy, but this limitation is not related to the 'file:' protocol, even with 'data:', 'about:' etc... you can't make a cross origin request. The requirement to make a cross origin request is to have an host for origin
关于浏览器开发人员对跨源请求实现这种默认限制的原因,应该考虑到这一点。
谨慎使用,并了解标志的重要性,标志 --disable-web-security
和 --allow-file-access-from-files
,见
专为本地 Web 开发而设计,而不是作为需要来自 Web 应用程序的资源的本地应用程序的解决方法。
--disable-web-security
Don't enforce the same-origin policy. (Used by people testing their sites.)
--allow-file-access-from-files
By default, file:// URIs cannot read other file:// URIs. This is an override for developers who need the old behavior for testing.
标志描述中的“测试”术语应强调标志的用法。这些标志不是为生产用途而设计的。
备选方案,
创建一个 chromium 扩展来执行网络任务;
创建一个 chrome 应用来执行网络任务
其中任何一个都需要在 manifest.json
中进行适当的 permissions
设置。
关于javascript - 从本地 html/javascript 网站发布到在线 PHP 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42590625/
我有一个 PowerBI Online 数据集,它是在 PowerBI 桌面中创建然后在线发布的。到目前为止,一切都很好。 我通过 PowerBI pusblish 从 Excel 连接到数据集,按预
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 2 年前。
我必须对一些太大而无法放入内存的数据训练分类模型,我正在使用 scikit learn 和 pandas 来进行分析。所以这是我的问题,如何在在线学习管道中使用验证来调整超参数? 我使用带有chuck
我正在开发一个应用程序,该应用程序将从 webservice 获取数据和图像并将其存储在设备中以供离线使用。同时,应用程序会将一些数据存储在 sqlite db 中,并将一些图像作为默认数据。 这是应
是否可以使用 FileReader API 和 onprogress 事件访问随 HTML5 传入的数据? 如果是这样,是否有 MD5 或其他快速散列算法的“在线”版本,以便我可以在文件完全读取之前开
希望任何人都可以帮助我更改下面的代码,我的临时文件包含以下代码: Temp=8.4* Humidity=70.4% 代替代码 Temp = 24 *C, Hum = 40 % 适用于以下脚本。 我需
我必须创建一个功能类似于联系人应用程序的应用程序。您可以在客户的 iPhone 上添加一个联系人,它应该会上传到客户的 iPad 上。如果客户在他们的 iPad 上更新联系人,它应该会在他们的 iPh
在 gitlab.com 上审查 merge 请求时,有时我必须在完成 merge 之前进行 rebase。 在 gitlab 上按“Rebase”后,我有一个特定的管道步骤失败,因为它无法验证用户的
关闭。这个问题是off-topic .它目前不接受答案。 想改善这个问题吗? Update the question所以它是 on-topic对于堆栈溢出。 9年前关闭。 Improve this q
我正在尝试在 azure 上托管 SQL 服务器以与节点应用程序进行通信。我已经成功地完成了创建数据库服务器和数据库本身的过程。现在,我想编辑我的数据库结构。据我发现online ,应该有一种方法可以
我在 Quickbooks Intuit 开发人员 API 中使用 Oauth 2 获得了访问 token 。 范围是 com.intuit.quickbooks.accounting 我能够使用 Q
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 6年前关闭。 Improve thi
是否可以使Angular Material progress spinner与文本并大致与字符的大小一致地显示? 我想要类似的东西: please wait 微调器仅与“请稍候”文本成行出现。 这可
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 7年前关闭。 Improve thi
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我有一个每天运行的Powershell脚本。今天它失败了,因为我正在使用的域 Controller 不可用。在继续执行脚本的其余部分之前,我想确保可以连接到可用的DC。 $LdapServer = "
我想制作一款在线 Flash 游戏,它将具有社交功能,但游戏玩法将主要是单人游戏。例如,屏幕上不会同时出现两个玩家,社交互动将通过异步消息进行,不会有实时聊天或其他任何内容。大部分逻辑将发生在客户端中
这几天我开始在线玩OpenShift。我部署了一个非常简单的“Hello World”Java 示例(1 行代码!),没有任何依赖项(没有 Spring!)命令行是这样的: oc.exe new-a
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
所以我一直在网上学习Java(初学者),并且我一直在尝试制作一个用于制作矩形的类文件。但是,我的在线 java 评估器指出它找不到实例变量。 This is the comment on it.我的代
我是一名优秀的程序员,十分优秀!