PHP JQuery Ajax Not Working



我有以下脚本:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
function createUser(username, password) {
$.post('/php/Create_User.php', { username: username, password : password},
function(returnedData){
alert(returnedData);
}).fail(function(error){
alert(error.message);
});
}
</script>

我这样称呼它:

<form onsubmit="createUser(this.username.value, this.password.value)" method="post">
Username:<br>
<input type="text" name="username"><br>
Password:<br>
<input type="password" name="password"><br><br>
<input type="submit" value="Submit">
</form>

每当我提交表单时,函数都会被调用,但它一直进入.fail块,但错误消息只是说"未定义"。我不知道如何打印出错误,也不知道为什么我的帖子没有从CreateUser页面返回数据。

由于您使用了jQuery.post()。。。停止使用内联onsubmit属性。使用提交事件处理程序可以防止正常的提交行为。

然后,如果您仍然有错误,请console.log返回的内容,以确定问题的性质。

$("form").on("submit",function(e){  // <-- Look closely here
e.preventDefault();               //     And here.

var username = $(this).find("[name='username']").val();
var password = $(this).find("[name='password']").val();
console.log(username+" "+password);

$.post('/php/Create_User.php', { username: username, password : password})
.done(function(returnedData){ 
console.log(returnedData);
})
.fail(function(xhr, status, error) {
console.log(xhr);
console.log(status);
console.log(error);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form>
Username:<br>
<input type="text" name="username"><br>
Password:<br>
<input type="password" name="password"><br><br>
<input type="submit" value="Submit">
</form>

这个片段中的请求显然不能在这里工作。。。

function createUser(username,password){
$.ajax({
url : "/php/Create_User.php",
method : "POST",
data : { username: username, password : password},
dataType : "text",
success:function(data){
console.log(data);
},error:function(xhr,data){
console.log(data+xhr);
}
})
}

我不确定你的代码出了什么问题,但你可以试试我的代码,顺便说一句,试着删除表单标记中的"method=post">
使用console.log并按F12查看Chrome中的输出,然后转到控制台选项卡

相关内容

  • 没有找到相关文章

最新更新