2016-11-18 3 views
0

私は社内のWebサイト(witten ASP.NET WebForms、私は信じている)のためのuserscriptに取り組んでいます。いくつかのことを自動化しようとしていますが、達成したいのは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

「動作するようには思えません」。あなたは何が起こると思いますか?期待していないことはどうなりますか? [ask]をお読みください。 –

+0

@MikeMcCaughanページをロードしてボタンをクリックした場合に実行されたアクションは発生しませんでした。 –

答えて

0

私自身の質問に答えるには、参照URLがサーバーが期待していたものではないという問題があるようです。私はwindow.history.replaceState()が私のこれに対する解決策だと思う。

関連する問題