У меня есть анонимная функция ajax, которая редактирует ответ на вызов success
. Я хочу передать отредактированный ответ следующей функции ajax. Поскольку я хочу, чтобы обе функции ajax выполнялись последовательно, я использую .then()
. Внутри моей первой функции ajax я редактирую ответ, но когда я передаю его второй функции ajax, он передается неотредактированным. Так что я предполагаю, что передаю аргументы неправильно
Вот мой отредактированный код:
EDIT
Изменен мой код в соответствии с ответом @ Квентина:
document.getElementById("myBtn").addEventListener("click", function (e) {
e.preventDefault();
var first_request = $.ajax({
url: 'www.random.com',
method: 'GET',
});
var modified_response = first_request.then(
function (response) {
response = response.replace('random', 'SemiRandom');
return response;
});
//here it complains that data is not defined
modified_response.then(function (data) {
return $.ajax({
url: data,
method: 'GET',
crossDomain: true,
xhrFields: {
withCredentials: false
},
success: function(){
alert(data);}
})
});
});