【问题标题】:Nested ajax call with an value from the first into the seconds Ajax call's url嵌套 ajax 调用,其值从第一个到第二个 Ajax 调用的 url
【发布时间】:2016-08-24 20:05:27
【问题描述】:

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

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

获取 http://api.themoviedb.org/3/movie/366924/videos?api_key=KEYHERE…9a6ebe&callback=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();

                    });

【问题讨论】:

  • 你能在 www.jsbin.com 或 www.jsfiddle.net 上创建一个活生生的例子吗?
  • 错误是什么?看起来就像一个网络地址
  • @Marian07 - 你想让他分享他的 API KEY?
  • @JaromandaX 这样的解决方案是唯一的......
  • @Marian07 - 完全正确

标签: javascript jquery ajax


【解决方案1】:

试试这个 -

 $('#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();
    });

【讨论】:

    猜你喜欢
    • 2016-05-05
    • 2020-10-16
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 2016-06-22
    • 2019-01-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多