Отправка запроса ajax для вставки данных в базу данных. После успешной отправки моего сообщения кнопки не было изменено. При нажатии i загорается сообщение Please wait...
при успешном запуске устанавливается новое значение html Done
. Записи в db созданы успешно, но текст кнопки до Done
не был изменен.Jquery ajax не выполняет успех
Мой сценарий:
var Friend = {
// Add new friend
add: function() {
var btn = $(".btn-add-friend");
btn.click(function() {
$(this).html("Please wait...");
$.ajax({
type: "post",
url: baseurl + "/FriendRequest/send",
data: {
friend: $(this).data('friend')
},
success: function(xhr, status) {
$(this).html("Done"); // Not wortk
alert("done"); // <-- Work
},
error: function(response, s, e) {
alert(response.responseText);
},
complete: function() {
//. the some from success
}
});
});
},
// Initialise
init: function() {
Friend.add();
}
};
Html:
<button type="button" id="item-<?=$person->account_id;?>" class="btn btn-xs btn-add-friend has-spinner" data-friend="<?= $person->account_id;?>"><i class="fa fa-plus-circle"></i> Add Friend</button>
Когда я нажимаю на кнопку текст был changet к Please wait..
, но после того, как успех не изменил Done
и оповещения успешно выполнена.
похоже, что это не часть DOM после нажатия! Я также пытаюсь с on()
получить некоторый результат.
Проверьте, что ваша переменная 'baseurl' имеет некоторое значение перед передачей ее в' url'. – divy3993
baseurl не является проблемой для его простого URL-адреса для контроллера, после того, как все данные успешно вставляются в базу данных. – Ivan