我用html填写表格,然后提交。 首先,客户端验证数据(例如,是否接受eula复选框),然后,客户端将数据发送到服务器。 服务器还会检查数据是否向我返回了状态代码。 如何从服务器获取此状态代码?
以下是一些示例片段
HTML
<form name="newsletter" method="post" action="/api/newsletter" onsubmit="if(!validate()){return false;} else tryToFetch();">
<input name="name" type="text" id="name"/>
<input name="eula" type="checkbox" id="eula"/>
<input type="submit" name="submit"/> </form>
客户端js:
function validate() {
if (this.eula.checked == false) { alert ('EULA NOT ACCEPTED'); return false; } else {
return true; }
}
tryToFetch
function tryToFetch(){
fetch('http://localhost:3000/api/newsletter')
.then(function(response) {
console.log(response.status ) ;
});
}
Server.js
app.post('/api/newsletter', urlencodedParser ,function (request, response) {
//Just check some data...
response.statusCode = 999;
response.send('999');
});
现在如何在浏览器中获取状态码999并进行处理? 甚至有可能只使用js吗?
答案 0 :(得分:0)
“获取规范与jQuery.ajax()的区别主要有两种:
即使响应是HTTP 404或500,从fetch()返回的Promise也不会拒绝HTTP错误状态。相反,它将正常解析(okstatus设置为false),并且只会拒绝网络故障或是否有任何原因阻止请求完成。”
那么这可能是导致您的问题吗?您是否尝试过使用默认的XMLHttpRequest。