我有這段代碼使用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