使用每个函数时,Ajax调用不能与多个div一起使用

时间:2014-08-12 14:18:39

标签: jquery ajax

我有两个div具有相同的数据域属性但是当我在每个函数中使用AJAX时,只有一个获取其数据但不返回第二个。这是fiddle

HTML

<div data-domain='mybloggertricks.com'></div>
<div data-domain='mybloggertricks.com'></div>

的jQuery

$('div').each(function(){
  var element=$(this);
  var domainname=element.attr('data-domain')
  $.ajax({
        type: 'GET', url:"http://www."+domainname+"/feeds/posts/summary?alt=json&callback=simple",
        async: false,
        jsonpCallback: 'simple',
        contentType: "application/json",
        dataType: 'jsonp',
        success: function(json) {
          element.append(json.feed.title.$t)
        }
});
});

1 个答案:

答案 0 :(得分:0)

正如您所看到的,JS代码正在尝试运行不存在的函数&#34; simple&#34;。由于它不存在,JS中断并且第二次不运行ajax。如果删除回调,则fiddle可以正常运行:

<强> HTML

<div data-domain='mybloggertricks.com'></div>
<div data-domain='mybloggertricks.com'></div>

<强> javascipt的

$('div').each(function(){
  var element=$(this);
  var domainname=element.attr('data-domain')
  $.ajax({
        type: 'GET', 
        url:"http://www."+domainname+"/feeds/posts/summary?alt=json",
        async: false,
        contentType: "application/json",
        dataType: 'jsonp',
        success: function(json) {
          element.append(json.feed.title.$t)
        }
});
});

你可以这样做或添加回调,一切都应该没问题。