发出Delete Jquery Ajax请求时,响应代码为200,但数据不会被删除。这可能是什么原因

时间:2018-08-22 20:33:50

标签: javascript jquery ajax rest jax-rs

我正在尝试发出DELETE请求,但是它不起作用。我的代码如下:

$.ajax({
    type : "DELETE",
    url : "/meds/dme-rest-api/resources/data-setup/deleteCheckList.json?" + $.param({"checkListId":currentCheckListId}),

    headers : {authToken : '${TOKEN}'},
    cache : false,
    success : function(data){
                 console.log(data);
            }
    });

我得到的响应是:{“ errorMessage”:“”,“ success”:true} 但是数据没有被删除。这背后的原因是什么? 请让我知道是否需要其他信息。

更新该API如下:

@DELETE
@Path("deleteCheckList.json")
@Produces(MediaType.APPLICATION_JSON)
public Response deleteCheckList(@HeaderParam(value = RestHttpHeaderNames.AUTH_TOKEN) String authToken,
        @FormParam(value = "checkListId") int iCheckListId) throws Exception, SQLException {

    User user = UserManagement.getInstance().get(authToken);
    String sCompanyNo = user.getCompanyNo();
    int iEmployeeNo = user.getEmployeeNo();

    return RestUtils.getNoCacheResponseBuilder(Response.Status.OK).entity(
            DataSetupManager.newInstance().deleteCheckList(sCompanyNo, iEmployeeNo, iCheckListId).toString())
            .build();
}

1 个答案:

答案 0 :(得分:0)

您的java方法始终返回Response OK。

您应该删除需要删除的内容,这可能会失败。如果失败,则返回状态不正确