Я пытаюсь ввести данные в мои запросы AJAX, но это не удается, и я не знаю почему. Я пытался взглянуть на исходный код jQuery, но до сих пор не могу понять, почему он не работает. Любая помощь приветствуется. Вот код:
$('#someElement').ajaxSend(function(e, req, options) {
options.data += (options.data.length > 0 ? '&' : '') + '__token=' + $('input#requestToken').val();
}).ajaxSuccess(function(e, req, options, data) {
if (data.nextToken) {
$('input#requestToken').val(data.nextToken);
delete data.nextToken;
}
});
Ответ выглядит так:
{
"response":
{
"code":0,
// ...
},
"nextToken":"4ded26352b3d44"
}
Типичным запросом будет, например:
$.getJSON(url, {something:'value'}, function(data) {
if (data.response.code != 0) {
// handle code
}
});
Проблема в том, что отправленные данные "something=value
"; измененный data
не отправляется.
** РЕДАКТИРОВАТЬ **
Данные текущего запроса
something: value
и должно быть
something: value
__token: 4ded288eec1f56
В обратном вызове события ajaxSend
, если я печатаю значение options.data
после его изменения, значение равно "something=value&__token=4ded288eec1f56
", но "__token=4ded288eec1f56
" - это , а не отправлено. Почему оно не отправлено в запросе?
Но точнее, как это "исправить", если вообще возможно?