jquery 未正确处理来自控制器的响应

Response from controller not handled correctly with jquery

在 spring 具有剩余架构的启动应用程序中

我试着打个 ajax 电话

jQuery.ajax({
    type: "PATCH",
    url: getHostName() + "/members/" + memberId + "/contracts/" + contractId + "?status=CANCEL",
    contentType: "application/json",
    dataType: 'json',
    headers: {
      "Authorization": "Basic " + $.cookie('authorization')
    },
    success: function (data, status, jqXHR) {
      $('#modalSaveSuccess').modal('show');
    },
    error: function (jqXHR, status) {
      checkError(jqXHR);
    }
});

在控制器中,

 @PatchMapping(value = "/members/{memberId}/contracts/{contractId}")
 public ResponseEntity updateContractStatus(@PathVariable("memberId") Long memberId, @PathVariable("contractId") Long contractId, @RequestParam("status") StatusEnum status) {

     if (status == StatusEnum.CANCEL) {
         contractService.cancelContract(contractId);
     }
     return new ResponseEntity(HttpStatus.OK);
 }

当我调试时,我看到 return HttpStatus.OK

在 javascript 中进入错误部分,状态为 200 并带有 statusText "parsererror"

回应header

HTTP/1.1 200
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 0
Date: Sat, 17 Dec 2016 18:53:13 GMT

您已设置 dataType: 'json' 但您没有返回 json。请删除该行并检查结果。