Как получить текст запроса при серверной ошибке?
$.ajax({
type: 'POST',
url: 'post.php',
data: '¶m=' + param,
success: function(response){
try {
response = jQuery.parseJSON(response);
} catch (e) {
console.log(param);
}
console.log('ok');
}
});
Если таких запросов много и одновременно, то велика вероятность, что param при ошибке уже будет не тем, что был отправлен в запросе. Вопрос такой: как при ошибке получить ровно то значение param какое было отправленно этим запросом?
Желательно без оборачивания и без того много-вложенного ajax'са в
(function(param) {
// здесь param не будет изменяться извне
})(param);
Ответы (1 шт):
Автор решения: Dmitry
→ Ссылка
В контексте выполнения функции success() ключевое слово this будет указывать на объект, который вы передали функции $.ajax(). Вы можете сделать так:
console.log(this.data);
// вернет строку '¶m=${param},
// где ${param} – значение переменной param в момент вызова функции $.ajax()
Или даже определить свое свойство, например my_param
$.ajax({
type: 'POST',
url: 'post.php',
data: '¶m=' + param,
my_param: param, // ← определили
success: function(response){
try {
response = jQuery.parseJSON(response);
} catch (e) {
console.log(this.my_param); // ← используем
}
console.log('ok');
}
});