iT邦幫忙

0

curl 與 ajax 的來回互動?

這是我第一隻要打的API
我這是用 click 觸發的事件
當 success 之後我要打第二隻API
但是一模一樣的格式,網址、給的data會變而已
所以session, userid 都會繼續用到
要怎麼帶到下一個 ajax?
我以為是在

success: function( data ){
  		  // 這裡面打第二個API
  		},

只是這樣我打五次就會有五層了,似乎不太妥當?
有沒有高手可以教教我呢

建議把妳的程式碼在發問時候用 編輯器 新增程式碼,貼上來比較好複製

2 個回答

2
freessaint
iT邦新手 5 級 ‧ 2018-06-14 14:33:58
最佳解答

有要求說 一定要第一個ajax完成後,才能發第二個請求嗎?
不然可以考慮使用$.when的方法。
參考說明:http://www.runoob.com/jquery/misc-when.html

function getData(){
    var fun1 = $.ajax({url: "url",type:'POST',dataType:'json'}),
        fun2 = $.ajax({url: "url",type:'POST',dataType:'json'}),
        fun3 = $.ajax({url: "url",type:'POST',dataType:'json'});
    $.when(fun1,fun2,fun3).then(function(data1,data2,data3){
        //成功
        console.log(data1);
        console.log(data2);
        console.log(data3);
    },function(){
        //失敗
        console.log('fail!!');
    })  
}

如果順序建議寫法可以寫成在success在乎叫第二個function 比較好讀

$.ajax({
     type : "POST",
     url : "URL",
     data:JSON.stringify({
     "user-id" :userid,
     "session" :session,
     ),
     dataType: 'json',
     success:function(data){
         twoAjax(data);
     }
});

function twoAjax(data)
{
    $.ajax(...);
}
asys0512 iT邦新手 1 級 ‧ 2018-06-14 14:36:21 檢舉

對,第一個是檢查

0

問題是為何要做五次ajax, 應該一次ajax也可以處理吧/images/emoticon/emoticon10.gif

我要發表回答

立即登入回答