【发布时间】:2018-12-02 20:16:34
【问题描述】:
我用html填写表格然后提交。 首先,客户端验证数据(例如,如果 eula 复选框被接受),然后客户端将数据发送到服务器。 服务器还会检查数据是否会向我返回状态码。 如何从服务器获取此状态码?
这里有一些示例 sn-ps
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 ) ;
});
}
服务器.js
app.post('/api/newsletter', urlencodedParser ,function (request, response) {
//Just check some data...
response.statusCode = 999;
response.send('999');
});
现在如何在浏览器中获取状态码 999 并进行处理? 甚至可以只使用js来做吗?
【问题讨论】:
-
Status 999 不是标准的 HTTP 响应代码,您不应使用它。
tryToFetch是什么? -
使用 TryToFetch 我正在尝试从服务器获取状态。但它返回状态 200 而不是状态 999。
-
你能在 devtools(在网络选项卡中)检查 fetch 调用状态吗? - fetch 默认发出 GET 请求,而不是 POST 请求。
标签: javascript node.js express server client