【问题标题】:Ajax request each loopAjax 请求每个循环
【发布时间】:2019-03-24 11:58:49
【问题描述】:
function cherchePhoto(motcle) {
            var url="http://api.flickr.com/services/feeds/photos_public.gne?tags="+motcle+"&tagmode=any&format=json&jsoncallback=?";

            // Appel AJAX
            $.ajax({
                url:url,
                type: 'GET',
                dataType: 'json',
                success : function(){
                    $('#images').empty();
                    $.each(data.items, function(i,item){
                        $(document.createElement('img')).attr('src', item.media.m).appendTo("#images");

                    });
                }
            })  
}

我有这个带有 ajax 调用的 jQuery 函数,我想在我的 html 页面中的 #images 之后为我从 ajax 调用收到的每个图像构建一个带有 src 属性的 img 标记。 但是我得到一个未定义的“数据”未捕获的引用错误,为什么?

【问题讨论】:

  • 因为您没有定义数据。 success : function(data){
  • 好吧,你从来没有定义过data,所以这就是你得到错误的原因。我猜它应该是success 回调的参数?
  • 成功接受数据作为参数。成功:函数(数据){}
  • 问题应该作为拼写错误关闭,......这对未来的访问者没有用处。

标签: javascript jquery ajax each


【解决方案1】:

因为您在success 回调中错过了data。 试试这个

success : function(data){

【讨论】:

    【解决方案2】:

    您需要将数据定义为成功函数的第一个参数。

    function cherchePhoto(motcle) {
             var url="http://api.flickr.com/services/feeds/photos_public.gne?tags="+motcle+"&tagmode=any&format=json&jsoncallback=?";
    
            // Appel AJAX
            $.ajax({
                url:url,
                type: 'GET',
                dataType: 'json',
                success : function(data){
                    $('#images').empty();
                    $.each(data.items, function(i,item){
                        $(document.createElement('img')).attr('src', item.media.m).appendTo("#images");
    
                    });
                }
            })
    }
    

    【讨论】:

      【解决方案3】:

      我认为这是因为您错过了在回调函数中通知数据。 你需要这样的东西:

      function cherchePhoto(motcle) {
              var url="http://api.flickr.com/services/feeds/photos_public.gne?tags="+motcle+"&tagmode=any&format=json&jsoncallback=?";
      
              // Appel AJAX
              $.ajax({
                  url:url,
                  type: 'GET',
                  dataType: 'json',
                  success : function(data){
                      $('#images').empty();
                      $.each(data.items, function(i,item){
                          $(document.createElement('img')).attr('src', item.media.m).appendTo("#images");
      
                      });
                  }
              })
      
          }
      

      【讨论】:

        猜你喜欢
        • 2016-10-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-06-04
        • 2010-12-14
        • 2021-03-15
        • 2011-11-06
        • 2023-03-09
        相关资源
        最近更新 更多