错误信息:
POST...405(Method not found)
HTML代码:通过两个文本框保存数据,并由submit按钮提交给后端
<div class="logtext">
<input type="text" placeholder="Username" class="username" name="username">
</div>
<div class="logtext">
<input type="password" placeholder="Password" class="password" name="password">
</div>
<input type="submit" class="login-button" value="Login">
Javascript代码:在$.ajax处出现一系列错误,并且如果url中将路径变为相对路径或者与php文件打开后的网页中的链接不符合,就会出现如下错误:
Access to XMLHttpRequest at 'http://localhost/sql_Experiment3/php/login.php'
from origin 'http://127.0.0.1:5000' has been blocked
by CORS policy: No 'Access-Control-Allow-Origin'
header is present on the requested resource.
<script>
//登录按钮点击事件
//点击时发送Ajax请求送往后台,并等待后台反馈的登录结果
$(".login-button").click(function () {
var userName = $(".username").val();
var passWord = $(".password").val();
//判空
if (userName.length == 0 || passWord.length == 0) {
alert("Please enter Your username or password!");
return;
}
$.ajax({
type: 'POST',
url: 'http://127.0.0.1:5500/sql_Experiment3/php/login.php',
dataType: 'json',
data: {
name: userName,
pswd: passWord
},
success: function (res) {
console.log(res);
}
});
});
</script>
跨域请求了,加上Access-Control-Allow-Origin这个Header
跨域请求了 url: 'http://127.0.0.1:5500/sql_Experiment3/php/login.php'被浏览器拦截,Post 405 method not allowed无法通过POst访问服务器
解决方法
1换火狐浏览器看看
2.把post请求改成get看看
3.测试一下是不是接口里面json数据本来的原因,使用postman,或者Apipost
4.https://blog.csdn.net/inrtyx/article/details/10132067