Ajax 成功函数第二次不起作用
Ajax success function doesn't work second time
我用
AJAX
提交了一个表单,第一次提交时,它具有成功功能,但是第二次它以accept_friend.php
而不是#requests_container
打印成功数据,就像普通的PHP表单一样。
$('.accept_friend').submit(function(){
var data = $(this).serialize();
$.ajax({
url: "../accept_friend.php",
type: "POST",
data: data,
success: function( data )
{
$('#requests_container').html(data);
},
error: function(){
alert('ERROR');
}
});
return false;
});
这是accept_friend.php
<?php
session_start();
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
require "classes/class.requests.php";
require "classes/db_config.php";
$current_user = $_POST['current_user'];
$friend_id = $_POST['friends_id'];
$requests = new Requests($DB_con);
if($_SERVER["REQUEST_METHOD"] == "POST"){
$requests->accept($current_user, $friend_id);
}
?>
似乎您正在替换$('#requests_container')
中的整个html,我假设.accept_friend
按钮也在同一个容器内。
如果是这种情况,请尝试将您的代码替换为
$('#requests_container').on('submit', '.accept_friend', function(){
var data = $(this).serialize();
$.ajax({
url: "../accept_friend.php",
type: "POST",
data: data,
success: function( data )
{
$('#requests_container').html(data);
},
error: function(){
alert('ERROR');
}
});
return false;
});
这将使您的事件保持活动状态,即使在删除表单按钮并将其放回 DOM 中后也是如此
我已经测试过了,它确实对我有用(火狐(
破坏表单后,将提交事件重新绑定到提交者函数
$('.accept_friend').submit(function submitter() {
var data = $(this).serialize();
$.ajax({
url: "../accept_friend.php",
type: "POST",
data: data,
success: function(data) {
$('#requests_container').html(data);
setTimeout(function() { // may not be needed
$('.accept_friend').submit(submitter); // rebind submit
}, 0);
},
error: function(){
alert('ERROR');
}
});
return false;
});
相关文章:
- 更改第二次推送时不起作用的元素高度
- java脚本中的谷歌地图在第二次点击时不起作用
- Jquery移动转换复选框在Jquery onclick函数()中第二次选中不起作用
- 为什么第二次调用isNaN时它不起作用
- Jquery Onclick 事件函数第二次不起作用
- Jquery onblur 第二次不起作用
- JQuery$.post第二次点击不起作用
- 对已定义函数的第二次调用;不起作用
- ajax加载图像第二次在弹出jquery上不起作用
- 下拉列表的onChange()第二次不起作用
- jBox模态对话框Created监听器函数从第二次开始就不起作用了
- 函数在第二次出现时不起作用
- j查询克隆表单在同一页面中不起作用两次
- 在第二次加载时更改 iframe 样式,在 Internet Explorer 9 中不起作用
- ng-单击在表格内第二次单击时不起作用
- 引导轮播不起作用(一次显示所有图像)
- jQuery Ajax 在第二次出现时不起作用
- Jquery 滑块不起作用多次调用
- 将参数附加到URL地址在多个函数中不起作用(第二个函数不变)
- window.open两次不起作用(第二个窗口没有出现)-Blocker解决方法