Как получить исходные данные, предоставленные для вызова ajax в обратном вызове ajax?
По сути, я перебираю массив изображений. Если у изображения нет источника, оно выполнит ajax-вызов pixabay, чтобы найти изображение элемента и установить URL-адрес для src элемента изображения. Тем не менее, вызов "this" будет ссылаться на вызов ajax вместо элемента изображения. Мой подход сейчас состоит в том, чтобы получить идентификатор элемента элемента из "данных" в "опциях", но это не работает. Я также пытался вызвать "imageOf" изнутри обратного вызова успеха, но это тоже не работает.
$("img").each(function() {
if (!$(this).attr("src")) {
var imageOf = $(this).attr("imageOf");
//get imageURL via ajax call
var pixabayAPI = "https://pixabay.com/api/";
$.ajax(pixabayAPI, {
method: "GET",
async: false,
dataType: "json",
data: {
key: "...",
q: imageOf,
category: "food"
},
success: function(result, status, jqXHR) {
var images = result.hits;
if (images.length > 0){
console.log(images[0].webformatURL);
$(this).attr("src", images[0].webformatURL);
// "this" becomes the ajax call when I want to get the image element instead
};
},
error: function(e) {
console.log(e);
}
});
}
});