Angular客户端请求后浏览器未返回200 OK状态码问题
问题:GET请求返回204状态码但客户端可正常接收响应
从Angular客户端向Java Vertx服务器发送GET请求,服务器执行指定操作后会向客户端发送操作完成通知。浏览器Network标签中该API始终显示204状态码(预期应为200 OK),但客户端控制台能正常接收到服务器发送的字符串。
相关代码
Angular组件类
startPrint(id: string) { console.log('进入startPrint() ::: 任务ID ',id); let jobStatus = this.job_status.get(Number(id)); this.toggle(jobStatus, Number(id)); if(jobStatus =='START') { console.log('进入IF分支!!'); this.coreService.getJobSerialToPrint(id).subscribe( (next) => { console.log("startPrint中的响应: " + JSON.stringify(next)); console.log("startPrint中的响应: "+ next); }, (err) => { console.log("startPrint中的响应错误: " + err); } ); } else{ console.log('进入ELSE分支 ---- 需要在服务器端暂停任务'); } }
Angular服务类
// 启动任务标签打印 getJobSerialToPrint(id: string) { console.log("向服务器发送启动打印命令!!: ", id); return this.httpClient.get(environment.restUrl + "/jobserials/"+id); }
Java Vertx服务器代码
startPrintJob(jobID, context) .onFailure(error -> { LOG.debug("startTest() 执行失败: ", error); }) .onSuccess(res -> { LOG.debug("执行完成!!"); LOG.debug("startPrintJob() 执行成功返回结果: " + res); String updatedStatus = "任务" + jobID + "打印完成"; context.response().setStatusCode(HttpResponseStatus.OK.code()) .putHeader(HttpHeaders.CONTENT_TYPE, HttpHeaderValues.APPLICATION_JSON) .end(new JsonObject().put("message", updatedStatus) .put("path", context.normalizedPath()).toBuffer() ); })
相关截图
- Network状态截图:

- 控制台截图:

内容的提问来源于stack exchange,提问作者ZAJ
相关产品推荐
相关产品推荐

