2017-03-30 79 views
0

我一直被困在這個相同的問題現在爲2個星期,每天10-15小時。如何做POST和GET請求相同的按鈕jQuery

我正在使用動態按鈕,追加更多的按鈕,這些按鈕在我的視圖上是動態的標籤。

我只能使用1表單,因此動態按鈕正在用於知道要加載的模型ID。

我只使用1形式簡單的jQuery是這樣的:

$("#copy-link").click(function (e) { 
    e.preventDefault(); 

    var num_tabs = $("div#tabSequence ul li").length + 1; 
    $("div#tabSequence ul").append(
     "<li class='tab-button'><a data-toggle='tab' id='link" + num_tabs + "' href='#tab" + num_tabs + "'>#" + num_tabs + "</a></li>" 
    ); 

    var data = $('#campaign-form').serialize(); 



     $.ajax(
      { 
       dataType: 'html', 
       type: 'POST', 
       url: "campaigns/sequencesave", 
       data: data, 
       success: function(response){ 
        var campaignId = response; 
        var test2 = document.getElementById("link" + num_tabs); 
        console.log(test2); 
        test2.setAttribute("data-campaign", campaignId); 
       } 

      } 
    ) 
}); 

有沒有一種方法,我可以張貼表單數據,並且還裝載了標籤按鈕的形式內容點擊?

$("body").on("click", ".nav-tabs li a", function() { 
     var data = $('#campaign-form').serialize(); 


     $.ajax(
      { 
       dataType: 'html', 
       type: 'POST', 
       url: "campaigns/sequenceupdate", 
       data: { 'campaign_uid' : $(this).attr('data-campaign'), csrf_token: csrfTokenValue }, 

      } 
     ) 
    }) 

^^那個被點擊的按鈕必須保存視圖上當前的內容,然後加載點擊按鈕的內容。當用戶點擊#複製鏈接並自動保存時,我在該按鈕上附加了一個需要的模型的ID

+3

你可以改變你的服務器端代碼返回在POST處理所要求的內容 - 這是怎樣的網站99.9999%的人會做它 –

+0

如果您出於某種原因必須使用單獨的Ajax請求,請在保存請求的「成功」處理程序中進行加載請求。 – nnnnnn

+0

感謝您的幫助,服務器正在返回右鍵點擊內容,但我還需要在點擊新標籤加載其內容之前保存當前活動標籤。所以這就是爲什麼我認爲我需要2個Ajax調用,一個保存當前活動視圖,另一個調用點擊特定按鈕的模型ID。不知道我怎麼能在'success'處理方法中做到這一點,因爲我需要做另一個Ajax調用來獲取帶有ID的模型。 –

回答

0

我不是jQuery wiz,但是您可以直接使用javascript與Jquery結合使用。

function postInfo(event){ 
    httpRequest = new XMLHttpRequest(); 
    if (!httpRequest) { 
     alert('Giving up :(Cannot create an XMLHTTP instance'); 
     return false; 
    } 
    httpRequest.onreadystatechange = results; 
    httpRequest.open('POST', 'ENTER YOUR URL HERE'); 
    httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
httpRequest.send('serverpin='+ServerPIN+'&restuarantid='+RestaurantID); //<-these are the variables you are posting 
    } 

function results(){ 
    if (httpRequest.readyState === XMLHttpRequest.DONE) { 
     if (httpRequest.status === 200) { 
     // WHATEVER YOU WANT TO MAKE IT DO IF THE REQUEST IS SUCCESSFUL 
     } else { 
     alert('There was a problem with the request.'); 
     } 
    } 
    } 

然後調用它,我用一個事件監聽器這樣

document.getElementById('WHATEVERIDMATTERS').addEventListener('click',postOrder);