Javascript 在使用DOMParser检索的文档中提交表单
我正在Javascript 在使用DOMParser检索的文档中提交表单,javascript,ajax,dom,tampermonkey,Javascript,Ajax,Dom,Tampermonkey,我正在JavaScript中编写自动化软件 我的脚本很少执行AJAX请求,这些请求返回我使用DOMParser解析的HTML。我想知道是否可以提交这些表单,而不必在主页上实际打开新返回的HTML。是的。您需要从文档体获取表单,创建FormData对象并设置字段值,然后发送POST请求 为了简单起见,我使用了FetchAPI:。我还假设凭据也需要从同一来源传递 fetch('<GET URL>', {method: "GET", credentials: 'same-origin'})
JavaScript
中编写自动化软件
我的脚本很少执行
AJAX
请求,这些请求返回我使用DOMParser
解析的HTML
。我想知道是否可以提交这些表单,而不必在主页上实际打开新返回的HTML
。是的。您需要从文档体获取表单,创建FormData对象并设置字段值,然后发送POST请求
为了简单起见,我使用了FetchAPI:。我还假设凭据也需要从同一来源传递
fetch('<GET URL>', {method: "GET", credentials: 'same-origin'})
.then((response) => (response.text()))
.then((responseBody) => {
var html = htmlBody(responseBody);
var form = html.querySelector('#my-form'); // whatever your form is called
var formData = new FormData();
formData.append('someName', 'someValue'); // the field name will probably come from your form fields
postForm(formData)
.then((response) => (response.text()))
.then((responseBody) => {
// whatever with the form post response
});
})
function htmlBody(string) {
var document = new DOMParser;
return document.parseFromString(string, 'text/html').body;
}
function postForm(formData) {
return fetch('<POST URL>', {
method: 'POST',
body: formData,
credentials: 'same-origin'
})
}
fetch(“”,{method:'GET',凭证:'same origin'})
。然后((response)=>(response.text()))
.然后((响应体)=>{
var html=htmlBody(responseBody);
var form=html.querySelector(“#我的表单”);//无论您的表单被调用什么
var formData=new formData();
append('someName','someValue');//字段名可能来自表单字段
postForm(formData)
。然后((response)=>(response.text()))
.然后((响应体)=>{
//不管是什么形式的post回复
});
})
函数htmlBody(字符串){
var document=新的DOMParser;
return document.parseFromString(string,'text/html').body;
}
函数postForm(formData){
返回fetch(“”{
方法:“POST”,
正文:formData,
凭据:“相同来源”
})
}