我有这段代码使用Ajax提交表单数据。让我们看看这里:Ajax帖子正确形成,但不返回成功数据
$(document).ready(function(){
$('input.friend-request').click(function() {
addFriend();
});
});
function addFriend() {
var val = 'test';
$.ajax({
type: "POST",
url : "server.php",
data : $("#addFriend").serialize(),
//console.log(data);
success : function(data) {
console.log(data);
if (data==1) {
//$('input.friend-request').hide();
$("#addFriendSuccess").html('friend request sent').fadeIn(1000);
$("#addFriendSuccess").fadeOut(5000);
} else {
alert('something is wrong');
}
}
},"json");
}
这是处理表单数据插入到数据库中的server.php文件代码。
include 'db.php';
$session = $_POST['session'];
$friend = $_POST['friend'];
if ($session = $_POST['session'] && $friend = $_POST['friend']) {
$newSql = "INSERT INTO friend_request(user_id,friend_id) VALUES ('$session', '$friend')";
$addQuery = mysqli_query($db, $newSql);
echo '1';
}
在这个阶段一切正常,数据插入正确的数据库。如果数据是成功的echo '1'
这里返回:
if (data==1) {
$("#addFriendSuccess").html('friend request sent').fadeIn(1000);
$("#addFriendSuccess").fadeOut(5000);
}
我想显示用户在适当的DIV(addFriendSuccess)的消息,该分区包括在体内。但它不起作用,不会向用户显示任何消息。即使console.log(data)
也不会记录任何内容。这里可能发生了什么错误?
你在jQuery的调试检查,如果它在这一行暂停:'$( “#addFriendSuccess”)HTML( '好友请求发送')淡入(1000)。 ' – renakre 2015-04-03 18:34:07
@ekraner我该怎么做?谢谢 – 2015-04-03 18:36:06
在Chrome中,您可以按F12并选择来源,然后选择您的页面。然后放下休息。这也可能与Ajax的工作方式有关。 Ajax是异步的。对$ .ajax()的调用只是启动ajax调用。然后执行它后面的代码行。你可以推断:http://jqfundamentals.com/chapter/ajax-deferreds – renakre 2015-04-03 18:37:44