我目前正在网站上工作,我需要在不执行重定向的情况下发送表单。
为此,我已执行以下操作:
my_form.addEventListener('submit',function (event){
event.preventDefault();
var request = new XMLHttpRequest();
var request_process = function (){
if (request.readyState == 4) {
if(request.status == 200){
window.location.replace('nice_URL');
}else if(request.status == 401){
login_display_error('Authentification error : '+request.responseText);
}else{
alert('Server response, '+request.status+' :'+request.responseText);
}
}
};
var requestURL = new String();
requestURL = "requestURL.com";
request.addEventListener("readystatechange", request_process, false);
request.withCredentials = true;
request.open("POST",requestURL , true);
request.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
var parameters = new URLSearchParams(new FormData(my_form)).toString();
request.send(parameters);
});
它在 Google Chrome、Chromium、Firefox Quantum 上运行良好,但不适用于 Epiphany 浏览器和一些较旧的浏览器。
我想留在香草JS。
问题似乎是new URLSearchParams(new FormData(my_form)).toString(); 返回一个空字符串。
有没有人有同样的问题?