Ajax请求中的jQuery Ajax请求

Bia*_*aga 51 ajax jquery google-maps instagram

是否可以在另一个ajax请求中发出ajax请求?因为我需要来自第一个ajax请求的一些数据来发出下一个ajax请求.

首先,我使用Google Maps API获取LAT和LNG,之后我使用LAT和LNG来请求Instagram API(基于搜索的位置).

再次,这是可能的,如果是这样,怎么样?

$('input#search').click(function(e){
    e.preventDefault();
    var source=$('select[name=state] option:selected').text()+' '+$('select[name=city] option:selected').text()+' '+$('select[name=area] option:selected').text();
    var source=source.replace(/ /g, '+');
    if(working==false){
        working=true;
        $(this).replaceWith('<span id="big_loading"></span>');
        $.ajax({
            type:'POST',
            url:'/killtime_local/ajax/location/maps.json',
            dataType:'json',
            cache: false,
            data:'via=ajax&address='+source,
            success:function(results){
                // this is where i get the latlng
            }
        });
    } else {
        alert('please, be patient!');
    }
});
Run Code Online (Sandbox Code Playgroud)

Tar*_*rek 77

这是一个例子:

$.ajax({
        type: "post",
        url: "ajax/example.php",
        data: 'page=' + btn_page,
        success: function (data) {
            var a = data; // This line shows error.
            $.ajax({
                type: "post",
                url: "example.php",
                data: 'page=' + a,
                success: function (data) {

                }
            });
        }
    });
Run Code Online (Sandbox Code Playgroud)

  • 我无法表达这个答案对我来说是多么有用,我试图在get的成功中做一个帖子. (4认同)
  • @Daniel,“success”函数仅在 ajax 获得“200 OK”时运行,这确保第一个请求返回一些(希望)可用的内容,但使用“done”也是一个很好的方法,无需嵌套。查看更多[此处](/sf/answers/619349741/) (2认同)

Nis*_* Up 16

从'完整'中调用第二个ajax

这是一个例子

   var dt='';
   $.ajax({
    type: "post",
    url: "ajax/example.php",
    data: 'page='+btn_page,
    success: function(data){
        dt=data;
        /*Do something*/
    },
    complete:function(){
        $.ajax({
           var a=dt; // This line shows error.
           type: "post",
           url: "example.php",
           data: 'page='+a,
           success: function(data){
              /*do some thing in second function*/
           },
       });
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢,你的 awnser 救了我 hehehe (2认同)

Ved*_*Ved 5

这只是一个例子。您可能想根据您的要求定制它。

 $.ajax({
      url: 'ajax/test1.html',
      success: function(data1) {
        alert('Request 1 was performed.');
        $.ajax({
            type: 'POST',
            url: url,
            data: data1, //pass data1 to second request
            success: successHandler, // handler if second request succeeds 
            dataType: dataType
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

欲了解更多详情:请参阅