我已经准备好了许多其他帖子,ppl在这里询问了不允许blablabla的起源,
现在我尝试添加 --访问控制-允许-Origin 并启用应用程序甚至禁用安全性,但每次我在 php 页面上尝试我的按钮时,它都会不断说明
Origin null is not allowed by Access-Control-Allow-Origin.
谁能帮我?这是导致问题的代码
页.php
<html land="en">
<head>
<meta carset="utf-8">
<link rel="stylesheet" type="text/css" href="style.css";
</head>
<body>
<!-- Document Ready Event -->
<input id="text" type="text" /><input id="submit" type="button" value="Submit" />
<div id="feedback"></div>
<script src="../jquery-1.10.2.min.js"></script>
<script src="script.js"></script>
</body>
</html>
脚本.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 也不会运行,因为 PHP 受 Web 服务器支持,而不是 Web 浏览器。
您已安装 Web 服务器。您必须通过服务器请求页面,而不是直接从文件系统访问它们。
使用以 http://localhost/
开头的网址
您将需要移动文件,以便它们位于服务器的DocumentRoot
下(或重新配置服务器,以便它可以从当前位置访问它们)。
我不确定您要测试哪种浏览器。就我而言,如果我从本地文件发送 AJAX 调用,它适用于所有浏览器,这意味着Origin is null
.我想您无法使其正常工作的原因是需要一些服务器端编码。
请尝试此操作,将 Access-Control-Allow-Origin
标头添加到 HTTP 响应并将值设置为 *
。我不确定如何在PHP中执行此操作,但这里有一段Java代码供您参考。
response.setHeader("Access-Control-Allow-Origin", "*")
有这个chrome插件允许从任何来源请求任何带有ajax的网站。添加到响应"允许控制允许源:*"标头
https://chrome.google.com/webstore/detail/allow-control-allow-origi/nlfbmbojpeacfghkpbjhddihlkkiljbi/related
它对我有用,而无需在服务器端更改任何内容。 但是你应该在请求中更改 withCredentials: false,如果它符合你的测试。