Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery getJSON似乎正在复制变量_Jquery_Ajax_Getjson - Fatal编程技术网

Jquery getJSON似乎正在复制变量

Jquery getJSON似乎正在复制变量,jquery,ajax,getjson,Jquery,Ajax,Getjson,我有以下代码: var interests = []; var result_html = ''; result_html += '<div class="f-page f-cover">'; result_html += '<div class="cover-elements">'; result_html += '<div

我有以下代码:

var interests = [];

                var result_html = '';

                result_html += '<div class="f-page f-cover">';
                result_html += '<div class="cover-elements">';
                    result_html += '<div class="f-cover-story">';
                        result_html += '<span>Life Events</span>Interests';
                    result_html += '</div>';
                result_html += '</div>';
                result_html += '<div class="f-cover-flip">&lt; swipe</div>';
                result_html += '</div>';

                $.ajax({
                     type : "GET",
                     url : "",
                     dataType : "xml",

                     success : function(xml) {

                         $(xml).find('interest').each(function() {

                             var interest_id = $(this).find('id').text();
                             var interest_name = $(this).find('name').text();

                             var new_interest = {
                                     'id': interest_id,
                                     'name': interest_name,                                     
                             };

                             interests.push(new_interest);

                             var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + interest_name + "&redirects&prop=text&callback=?";

                              var jqxhr = $.getJSON( url, function(data) {
                                console.log( "success" );
                                wikiHTML = data.parse.text["*"];
                                $wikiDOM = $("<document>"+wikiHTML+"</document>");

                                result_html += '<div class="f-page">';
                                result_html += '<div class="f-title">';
                                    result_html += '<a href="index.jsp">Back to bookshelf</a>';
                                    result_html += '<h2 id="event_name">Your Interests</h2>';
                                    result_html += '<a href="#"></a>';
                                result_html += '</div>';

                                    result_html += '<div class="box w-50 h-100">';
                                    result_html += '<div class="img-cont img-1"></div>';
                                    result_html += '<h3>' + interest_name;

                                    //result_html += $wikiDOM.find('.infobox').html();

                                result_html += '</div>';

                                console.log(result_html);
                              })
                                .done(function() {
                                  console.log( "second success" );

                                })
                                .fail(function() {
                                  console.log( "error" );
                                })
                                .always(function() {
                                  console.log( "complete" );
                                });

                              // Perform other work here ...

                              // Set another completion function for the request above
                              jqxhr.done(function() {
                                console.log( "second complete" );
                                result_html += '<div class="f-page f-cover-back">';
                                result_html += '<div id="codrops-ad-wrapper"><a href="index.jsp" >Back to bookshelf</a></div>';
                                result_html += '</div>';
                                $('.container').append(result_html);
                                console.log(result_html);
                              });

                         });

                     },
                     error : function(xhr) {
                         alert(xhr.responseText);
                     }
                });
var利息=[];
var result_html='';
结果_html+='';
结果_html+='';
结果_html+='';
结果_html+=“生命事件发生次数”;
结果_html+='';
结果_html+='';
结果_html+=‘滑动’;
结果_html+='';
$.ajax({
键入:“获取”,
url:“”,
数据类型:“xml”,
成功:函数(xml){
$(xml).find('interest').each(function(){
var interest_id=$(this).find('id').text();
var interest_name=$(this).find('name').text();
var新利息={
“id”:兴趣\u id,
“名称”:兴趣和名称,
};
利益。推动(新利益);
变量url=”http://en.wikipedia.org/w/api.php?action=parse&format=json&page=“+interest_name+”&重定向&prop=text&callback=?”;
var jqxhr=$.getJSON(url、函数(数据){
控制台日志(“成功”);
wikiHTML=data.parse.text[“*”];
$wikiDOM=$(“”+wikiHTML+“”);
结果_html+='';
结果_html+='';
结果_html+='';
结果_html+=‘您的兴趣’;
结果_html+='';
结果_html+='';
结果_html+='';
结果_html+='';
结果\u html+=''+兴趣\u名称;
//result_html+=$wikiDOM.find('.infobox').html();
结果_html+='';
console.log(result_html);
})
.done(函数(){
console.log(“第二次成功”);
})
.fail(函数(){
控制台日志(“错误”);
})
.always(函数(){
控制台日志(“完成”);
});
//在这里执行其他工作。。。
//为上述请求设置另一个完成功能
jqxhr.done(函数(){
控制台日志(“第二次完成”);
结果_html+='';
结果_html+='';
结果_html+='';
$('.container').append(result_html);
console.log(result_html);
});
});
},
错误:函数(xhr){
警报(xhr.responseText);
}
});
但是getJSON多次打印第一个结果\u html append,它不在其中:

 result_html += '<div class="f-page f-cover">';
 result_html += '<div class="cover-elements">';
 result_html += '<div class="f-cover-story">';
 result_html += '<span>Life Events</span>Interests';
 result_html += '</div>';
 result_html += '</div>';
 result_html += '<div class="f-cover-flip">&lt; swipe</div>';
 result_html += '</div>';
result_html+='';
结果_html+='';
结果_html+='';
结果_html+=“生命事件发生次数”;
结果_html+='';
结果_html+='';
结果_html+=‘滑动’;
结果_html+='';
这部分代码在我创建控制台日志时应该只出现一次,尽管它是这样复制的:

success
<div class="f-page f-cover">
  <div class="cover-elements">
    <div class="f-cover-story">
      <span>
        Life Events
      </span>
      Interests
    </div>
  </div>
  <div class="f-cover-flip">
    &lt; swipe
  </div>
</div>
<div class="f-page">
  <div class="f-title">
    <a href="index.jsp">
      Back to bookshelf
    </a>
    <h2 id="event_name">
      Your Interests
    </h2>
    <a href="#">
    </a>
  </div>
  <div class="box w-50 h-100">
    <div class="img-cont img-1">
    </div>
    <h3>
      Curtis Stigers
    </div>
    second success 
    complete
    second complete 
    <div class="f-page f-cover">
      <div class="cover-elements">
        <div class="f-cover-story">
          <span>
            Life Events
          </span>
          Interests
        </div>
      </div>
      <div class="f-cover-flip">
        &lt; swipe
      </div>
    </div>
成功
生活事件
兴趣
刷卡
你的兴趣
柯蒂斯·斯蒂格斯
第二次成功
完成
第二次完成
生活事件
兴趣
刷卡

为什么会这样?这不应该发生,因为结果html的这一部分只发生在ajax和getJSON请求之前。

试试这个,
每个函数每次都追加

   $(xml).find('interest').each(function() {

         var interest_id = $(this).find('id').text();
         var interest_name = $(this).find('name').text();
         var new_interest = {
                             'id': interest_id,
                             'name': interest_name,                                     
                            };
         interests.push(new_interest);
         });  // Close Function Here
         var url="http://en.wikipedia.org/w/api.php?action=parse&format=json&page=" + interest_name + "&redirects&prop=text&callback=?";
             ...........................
           ..............................

                          // Perform other work here ...

                          // Set another completion function for the request above
                          jqxhr.done(function() {
                            console.log( "second complete" );
                            result_html += '<div class="f-page f-cover-back">';
                            result_html += '<div id="codrops-ad-wrapper"><a href="index.jsp" >Back to bookshelf</a></div>';
                            result_html += '</div>';
                            $('.container').append(result_html);
                            console.log(result_html);
                          });
                    // });   Remove This line
$(xml).find('interest').each(function(){
var interest_id=$(this).find('id').text();
var interest_name=$(this).find('name').text();
var新利息={
“id”:兴趣\u id,
“名称”:兴趣和名称,
};
利益。推动(新利益);
});  // 在这里关闭函数
变量url=”http://en.wikipedia.org/w/api.php?action=parse&format=json&page=“+interest_name+”&重定向&prop=text&callback=?”;
...........................
..............................
//在这里执行其他工作。。。
//为上述请求设置另一个完成功能
jqxhr.done(函数(){
控制台日志(“第二次完成”);
结果_html+='';
结果_html+='';
结果_html+='';
$('.container').append(result_html);
console.log(result_html);
});
// });   删除此行