我有一个在我的网页,我想提出的,我使用Ajax调用:Ajax调用的onclick只发生一次
$(document).ready(function() {
$("#password_change").click(function() {
$.ajax({
type: 'POST',
url: 'set_password.php',
data: 'password=' + $('#password').val(),
success: function(data) {
var obj = JSON.parse(data);
if(obj.success == '1') {
$('#message').show();
}else{
$('#fail_message').show();
}
}
});
});
});
我的形式:
<form id="password_form" name="password_form" action="" method="POST" style="">
<input type="password" class="required" id="password" value="" />
</form>
第一次我点击提交按钮,我得到正确的信息,一切似乎都很好。然后我再次点击submit按钮,但是通过ajax调用发送的数据是空的,所以我得到了ajax调用的错误回复。
有没有人有一个想法,为什么会发生这种情况?
在此先感谢
您是否在使用例如网络流量检测网络流量? Chrome中的开发控制台? ajax请求是否与空数据有效载荷一起发送?在jsfiddle中只使用你的代码就可以正常工作(请求可以用密码数据多次发送),所以它应该是别的东西 - 也许你的PHP或者你的页面上的其他JavaScript。 –
您可以在ajax调用之前检查$('#password')。val()值。 –
我建议您删除整个'$ .ajax'调用,并在click事件中仅做一个'alert($('#password')。val())',以确保它不在客户端中JavaScript代码。如果警报不会触发多次,那么您至少知道这是一个JavaScript问题。 –