我正在使用两种不同的方法发送表单。
但浏览器不显示方法2中从服务器返回的html内容。
表格:
<form name="form1" method="POST" action="http://localhost:8080/return_form/sayform" ><input name="refid" value="33862136">
方法1 :(表格,提交)
<button type="button" onclick="document.form1.submit()">POST Data</button>
结果1:
浏览器将表单发送到服务器和服务器响应HTML内容和浏览器根据服务器响应显示HTML内容。
方法2 :( JavaScript函数,使用“FormData”和“XMLHttpRequest”)
`
function Send() {
var data = new FormData();
data.append("refid", "33862136");
var xhr = new XMLHttpRequest();
xhr.open("POST", "http://localhost:8080/return_form/sayform", false);
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
//do some thing
}
};
xhr.send(data);
};`
<button type="button" onclick="Send()">POST Data</button>
结果2:
brwoser使用标题
发布表单Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryOdbZ7kv4ZlCRmEkk
并请求
的有效负载------WebKitFormBoundaryOdbZ7kv4ZlCRmEkk
Content-Disposition: form-data; name="refid"
33862136
------WebKitFormBoundaryOdbZ7kv4ZlCRmEkk--
和服务器响应HTML内容(与方法1服务器响应完全相同)但浏览器不显示HTML内容。
答案 0 :(得分:0)
Ajax的全部意义在于,响应由您编写的JavaScript处理,而不是自动将其显示为新页面。
如果您想对结果做些什么,那么您需要编写代码来执行此操作:在您编写//do some thing
的位置。
如果你想将它显示为新页面:不要使用Ajax。