我想将此 ajax 行更改为 post 表单方法 $.post()
以优化空间并将一些数据插入对象中。
我的ajax行:
$("#login_button").click(function() {
var username = $("#username").val().trim();
var password = $("#password").val().trim();
if (username != "" && password != "") {
$.ajax({
url: 'content/ajax/login.php',
type: 'POST',
data: {
username: username,
password: password
},
success: function(response) {
var msg = "";
if (response == false) {
msg = dataJSON.error_message.wrong_password;
} else if (response == true) {
window.location.reload();
}
}
});
}
return false;
});
所以我希望它是这样的:
$("#login_button").click(function() {
var username = $("#username").val().trim();
var password = $("#password").val().trim();
//I added here "type" so i can handle few ajax calls in one php file by an if statement
var post_data = { 'type' : 'login', 'username': username, 'password': password }
$.post('content/ajax/login.php', post_data, function(data) {
if(data == 'true') {
}
else if(data == 'false') {
}
});
});
我的代码有什么问题吗?
最佳答案
在原始代码中,它在点击处理程序上返回 false
。这可以防止元素的默认行为(在您提交表单的情况下)。
您可能希望在新函数中执行相同的操作。或者将 event
参数添加到点击处理函数中并使用 event.preventDefault()
例如
$("#login_button").click(function(event) {
event.preventDefault();
...
})
关于jquery - Ajax 表单重做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57343343/