$(document).ready(function(){
$(".item-title a").each(function(index) {
var yaz = $(this).attr("href");
$.ajax({
url: 'https://api-metrica.yandex.com/analytics/v3/data/ga?end-date=today&ids=ga%3A35416355&dimensions=ga:pagePath&metrics=ga:pageviews&filters=ga:pagePath=='+yaz+'&start-date=2015-10-25&oauth_token=AQAAAAAVs-uLAASpEAf-MmJK_kHgpU9Fwv8WArM',
type: 'get',
dataType: "jsonp",
success: function(data){
$(this).append(data.rows);
}
});
});
});
Console: Uncaught TypeError: Cannot read property 'createDocumentFragment' of undefined
What is problem?
Please Help.
This is because of the this
context in success
callback.
It does not point to the jQuery
object inside the callback as you expect. It will refer to the current context.
success: function(data){
$(this).append(data.rows);;
}
Save the context of this
outside the success
and reuse it.
var cachedThis = this;
$.ajax({
...
success: function(data){
$(cachedThis).append(data.rows);;
}
...
});
Instead you can use the bind
method to lock the context.
$.ajax({
...
success: function(data){
$(this).append(data.rows);;
}.bind(this)
...
});
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With