2016-11-18 72 views
0

我正在爲一個內部網站的用戶腳本(witten ASP.NET WebForms,我相信)。我試圖自動化一些事情,我想完成的是通過AJAX加載頁面,然後使用AJAX在此頁面上提交表單。該表單有多個提交按鈕,我想執行點擊其中一個按鈕的等效操作。以下是目前我正在使用的簡化版本。它似乎沒有工作(如果我已經加載了頁面並按下了按鈕,那麼該操作通常不會發生),並且我不確定是否可能犯了錯誤。可以使用AJAX提交表單(使用AJAX從頁面加載)?

fetch(URL, { 
    credentials: 'same-origin' 
}).then(response => response.text()).then(text => { 
    const parser = new DOMParser(); 
    const doc = parser.parseFromString(text, 'text/html'); 
    const form = doc.getElementById('Form1'); 
    const button = doc.getElementById('uc_btnDelete'); 
    const data = new FormData(form); 
    data.set(button.name, button.value); //submit the form as if uc_btnDelete was clicked 
    fetch(form.action, { 
     method: form.method, 
     body: data, 
     credentials: 'same-origin' 
    }).then(response => response.text()).then(text => { 
     //success 
    }); 
}); 
+1

「它似乎沒有工作」。你預計會發生什麼?發生了什麼,你不指望?請閱讀[問]。 –

+0

@MikeMcCaughan如果我已經加載頁面並正常單擊該按鈕,則會執行的操作不會發生。 –

回答

0

要回答我的問題看來,這個問題是與引用URL不是什麼服務器期待。我認爲window.history.replaceState()是我的解決方案。