Access-Control-Allow-Origin不允许使用Chrome Origin null
我已准备好许多其他postppl在这里问过关于起源不允许blablabla,
现在我尝试添加–Access-Control-Allow-Origin并启用应用程序甚至禁用安全性,但每次我在php页面上尝试我的按钮时它只是一直在说明
Origin null is not allowed by Access-Control-Allow-Origin.
任何人都可以帮助我吗? 这是导致问题的代码
page.php文件
<link rel="stylesheet" type="text/css" href="style.css";
的script.js
$('#submit').click( function() { var text = $('#text').val(); $.get( 'PHP/reverse.php', { input: text }, function( data ) { $('#feedback').text( data ); }); });
Origin null is not allowed by Access-Control-Allow-Origin
,这意味着您尝试在本地文件上执行Ajax。 出于安全原因,这是禁止的。 即使不是这种情况,您的PHP也无法运行,因为Web服务器支持PHP,而不是Web浏览器。
您已安装Web服务器。 您必须通过服务器请求您的页面,而不是直接从您的文件系统访问它们。
使用以http://localhost/
开头的URL
您需要移动文件,使它们位于服务器的DocumentRoot
(或重新配置服务器,以便它可以从当前位置访问它们)。
我不确定您要测试哪种浏览器。 就我而言,如果我从本地文件发送AJAX调用,它适用于我的所有浏览器,这意味着Origin is null
。 我想你无法让它工作的原因是需要一些服务器端编码。
试试这个,将Access-Control-Allow-Origin
标头添加到HTTP响应并将值设置为*
。 我不知道如何在PHP中执行此操作,但这里有一段Java代码供您参考。
response.setHeader("Access-Control-Allow-Origin", "*")
有这个chrome插件允许从任何来源请求任何带有ajax的站点。 添加到响应’Allow-Control-Allow-Origin:*’标题
它对我有用而无需在服务器端进行任何更改。 但是如果它符合您的测试,您应该在请求中更改withCredentials:false。