У меня есть следующий код, предназначенный для входа события, когда пользователь закрывает окно чата:
$(window).unload( function() {
test();
});
function test()
{
alert("Hi");
$.ajax({
type: "POST",
url: baseUrl + 'Index/test',
data: "user_id=" + "Nisanth" + "& chat_id=" + 2,
success: function(msg){
alert(msg);
}
});
alert('Success');
}
И "Привет" и сообщения "Успеха" предупреждают прекрасный, но предупреждение в обратном вызове Ajax не делает... Операции, которую я намереваюсь инициировать через запрос Ajax, также не происходит (я разрабатываю приложение чата и намереваюсь зарегистрировать запись в базе данных, когда пользователь закрывает окно).
Поскольку ajax является асинхронным, страница выгружается до того, как ответ будет отправлен должным образом, эффективно разрывая соединение. Попробуйте установить async:false;
, хотя это задержит выгрузку страницы до получения ответа, что не лучшим образом скажется на удобстве пользователя, если ваш сервер работает медленно.
$(window).unload( function () {
test();
});
function test()
{
alert("Hi");
$.ajax({
async: false,
type: "POST",
url: baseUrl + 'Index/test',
data: "user_id=" + "Nisanth" + "& chat_id=" + 2,
success: function(msg){
alert(msg);
}
});
alert('Success');
}
проблема в формате ваших данных. Он преобразуется в строку запроса, это должны быть пары ключ / значение, например: "user_id: value"