我有一个导航器,在那里我可以搜索其他用户的个人资料,这些搜索的结果是由一个‘回声’显示与php…这些结果有一个我需要用ajax发送的表单,但无论我做什么,我都不能停止提交事件……
搜索的结果类似于...
$mensaje .= '
<form method="POST" action="users/myfile.php" id="compare">
<input type="text" name="id_user" value="'.$id_user.'"/>
<input type="submit"/>
</form>';
echo $message;然后,我尝试使用ajax加载文件,而不刷新页面。
$('#compare').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
$('.profile-content').fadeIn('fast');
$('.profile-content').load('users/myfile.php');
}
})
return false;
}); 使用它,我得到的结果是页面直接转到myfile.php,而不是显示我需要显示的内容
发布于 2016-07-06 10:28:34
来自服务器的响应包含在data变量中,该变量是成功函数的参数。我不知道您到底想如何处理您的数据,但您可以尝试使用alert(data)查看结果是否良好。您正在尝试的.load()函数并不是您所需要的。
发布于 2016-07-06 17:24:31
成功回调函数包含可用于更新操作的数据。请参阅docs。
成功
类型: Function( Anything data,String textStatus,jqXHR jqXHR )
请求成功时要调用的函数。向该函数传递三个参数:从服务器返回的数据,根据dataType参数或dataFilter回调函数(如果指定)格式化;描述状态的字符串;以及jqXHR (在jQuery 1.4.x,XMLHttpRequest中)对象。从jQuery 1.5开始,成功设置可以接受一组函数。每个函数将被轮流调用。这是一个Ajax事件。
$('#compare').submit(function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: $(this).attr('action'),
data: $(this).serialize(),
success: function(data) {
$('.profile-content').fadeIn('fast');
//updation-starts
$('.profile-content').html(data.content);
//updation-ends
}
})
return false;
}); https://stackoverflow.com/questions/38214797
复制相似问题