AJAXの成功の範囲に頭を悩ませるのに苦労しています。
AJAX呼び出しからいくつかのデータをロードし、jQueryを使用して既存のデータにアタッチしようとしていますul
この例は私を助けましたが、「this」から特定の要素を参照する方法を理解することはできません。
だから私はthis
success関数をとして渡しましたthat
が、この行は次のとおりです。
$('li.loading').before(nextLoad);
失敗する:
Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
と仮定するとthat
、自分の要素に従って使用する必要がありますが、構文を理解できません。
var that = this;
$.ajax({
type: 'GET',
url: url,
async: true,
jsonpCallback: 'callback',
contentType: "application/json",
dataType: 'jsonp',
success: function(data)
{
$.each(data.products, function(key, val)
{
items.push('<li class="product"><a href="product.html"><span class="store-badge"></span><img src="'+val.image+'" width="124" height="166" /><h3>'+val.title+'</h3></a></li>');
});
var nextLoad = items;
if (loadNumber <= 4) {
$('li.loading').before(nextLoad);
};
if (loadNumber >= 4) {
$('li.loading').hide();
};
$('.scroll-horizontal').mCustomScrollbar("update");
},
error: function() {
console.log('failed');
}
});
編集:
結果として生じるコンソールロギング:
Window
Infinity: Infinity
$: function (a,b){return new e.fn.init(a,b,h)}
Array: function Array() { [native code] }
ArrayBuffer: function ArrayBuffer() { [native code] }
Attr: function Attr() { [native code] }
Audio: [object Function]
AudioProcessingEvent: function AudioProcessingEvent() { [native code] }
BeforeLoadEvent: function BeforeLoadEvent() { [native code] }
Blob: function Blob() { [native code] }
Boolean: function Boolean() { [native code] }
//CONTIUNES
コンソールログのnextloadも、次の結果になります。
Uncaught Error: NOT_FOUND_ERR: DOM Exception 8