ajax/php请求中的Origin为Null
我正在尝试创建一个jquery自动完成。当我测试是否通过ajax连接到php文件时,出现以下错误。发生了什么事 错误:无法加载XMLHttpRequestfile:///C:/Users/Asus/Desktop/UI_lab/lab4/getflights.php?flight=n. 收到无效的响应。因此,不允许访问源“null” 更新:ajax/php请求中的Origin为Null,php,jquery,ajax,Php,Jquery,Ajax,我正在尝试创建一个jquery自动完成。当我测试是否通过ajax连接到php文件时,出现以下错误。发生了什么事 错误:无法加载XMLHttpRequestfile:///C:/Users/Asus/Desktop/UI_lab/lab4/getflights.php?flight=n. 收到无效的响应。因此,不允许访问源“null” 更新: 好的,我在我的学校服务器上有所有必要的文件,并通过vpn连接到它,我得到这个错误,告诉我变量没有定义!错误:ReferenceError:$未定义为Lab4
好的,我在我的学校服务器上有所有必要的文件,并通过vpn连接到它,我得到这个错误,告诉我变量没有定义!错误:ReferenceError:$未定义为Lab44。html:19 这是我的密码:
<!DOCTYPE html>
<html>
<head>
<title>TODO supply a title</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<script src="js/jquery-1.11.1.min.js"></script>
<script src = "js/jquery-ui-1.10.4.min.js"></script>
<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui-1.10.4.min.css" />
<style type=text/css>
#form1 {
background-color: #ff9900;
width: 200px;
border: #000 double medium;
padding: 10px;
}
</style>
<script type="text/javascript" language="javascript">
$(document).ready(function() {
$("#flight").keyup(function () {
var flight = $("#flight").val();
$.ajax({
url: "getflights.php",
data: "flight=" + flight,
success: function(msg) {
alert(msg);
}
});
});
//TODO1: Use autocomplete for input#flight
//With AJAX get the list of flights (getflights.php)
//Fill the list with the list of flights in n response (Make a javascript array of those)
//See: autocomplete and options 'source' (Use type Function: in function you get the list with AJAX)
//TODO2: For inputs date1 and date2 use Datepicker
//2 months seen and other month's days are shown
//For date2 set the the date of selected date1 (From and To dates)
//TODO3: Set event handler for submit button
//Use slide and puff animations
//Dialog is modal
//Get the flight and dates from Form
//Add one button 'close'
});
</script>
</head>
<body>
<form id="form1">
<h2> Flight Reservation </h1>
<h3>Enter :</h3>
<input id="flight" />
<h3>Click to select a dates:</h3>
<h5> From </h5>
<input id=date1 />
<h5> To </h5>
<input id=date2 />
<div id="dialog" title="Window title">
<p> </p>
</div>
<input type="button" name="submit" value="Submit" id="submitbutton" />
<input type="reset" name="reset" value="Clear" id="resetbutton" />
</form>
</body>
</html>
您似乎试图在没有实际运行Web服务器的情况下使用PHP,即您正在使用file://协议访问网站。为了使用PHP,您需要一个运行PHP的Web服务器,如apache,当浏览器请求时,它将对您的.PHP文件进行预处理。为了使安装和设置带有Web服务器的PHP变得更容易,您可能想试试这个例子 此外,即使您的文件不需要PHP,Chrome也不允许您对file://文件使用AJAX
简言之,要使用AJAX和PHP进行web开发,您需要让自己的web服务器运行。这可能是什么意思的重复?我应该如何修复它?搜索错误消息并阅读,其他人已经解决了这个问题。@user2864059:出于安全目的,您通常不能在本地系统上使用文件:///URL来使用AJAX。模拟AJAX的最简单方法是运行本地HTTP服务器。如果你不能做到这一点,我建议你使用Nitrous.IO这样的免费服务来建立一个简单的测试站点。请不要为重复的问题添加回复。问题中给出的答案被链接为一个重复的运行chrome,带有允许file://requests的命令行参数,不能解决OP的问题,它们只会导致一个不同的问题——他仍然需要一个Web服务器,因为他试图请求一个.php文件。干杯好的,我在我的学校服务器上有所有必要的文件,并通过vpn连接到它,我得到这个错误,告诉我变量没有定义!错误:ReferenceError:$未定义Lab44.html:19@user2864059这意味着jQuery没有定义,没有加载,stackoverflow不在这里,所以您不必调试自己的代码。搜索错误消息!: