嵌套的ajax调用,带有从第一个到第二个Ajax调用的URL的值

时间:2016-08-24 11:34:44

标签: javascript jquery ajax

我想进行实时搜索,我需要使用第二个ajax调用中的id值。

当我快速输入搜索时,我得到了信息,但是如果我再次搜索或继续搜索,我会得到这个并且外部的ajax不会再被调用。

  

GET   http://api.themoviedb.org/3/movie/366924/videos?api_key=KEYHERE ... 9a6ebe&安培;回调= jQuery1102017797202615180896_1472038138300&安培; _ = 1472038138301

     $('#movie-search')
         .keyup(function() {
             var input = $('#movie-search').val(),
                movieName = encodeURI(input);

              if (input.length > 3) {
                  $("#myList").empty();

                      $.ajax({
                      url: url + searchMode + apiKey + '&query=' + movieName,
                      dataType: 'jsonp',
                      success: function(data) {
                           console.log(data.results);
                           resultArray = data.results;
                        }
                    })
                      .then(function() {    

                           $.each(resultArray,
                                function (index, value) {                       
                                console.log(value.id);

                                var searchVideo = 'movie/' + value.id + '/videos';

                                $.ajax({
                                    url: url + searchVideo + apiKey,
                                    dataType: 'jsonp',
                                    success: function () {

                                         $("#myList").append("stuffs");

                                    }
                               });

                             });

                          });
                       }

                      $(this).change();

                    });

1 个答案:

答案 0 :(得分:0)

试试这个 -

 $('#movie-search')
     .keyup(function() {
         var input = $('#movie-search').val();
         var movieName = encodeURI(input);

            if (input.length > 3) {
              $("#myList").empty();

              $.ajax({
                url: url + searchMode + apiKey + '&query=' + movieName,
                dataType: 'jsonp',
                success: function(data) {
                  console.log(data.results);
                  resultArray = data.results;
                    $.each(resultArray,
                    function(index, value) {
                      console.log(value.id);
                      var searchVideo = 'movie/' + value.id + '/videos';

                      $.ajax({
                        url: url + searchVideo + apiKey,
                        dataType: 'jsonp',
                        success: function() {
                          $("#myList").append("stuffs");
                        }
                      });

                    });   
                }
              });
            }

        $(this).change();
    });