MissingServletRequestParameterException: Обязательный длинный параметр prod_id отсутствует - PullRequest
0 голосов
/ 30 сентября 2018

Когда я делаю почтовый запрос от Почтальона, он работает нормально, но из ajax выдает следующую ошибку. Пожалуйста, помогите. Заранее спасибо

Сторона сервера

@PostMapping(value = "/delete")
    public ResponseEntity<BaseResponse> delete(@RequestParam("prod_id") Long productId) throws URISyntaxException {
        BaseResponse response = new BaseResponse();

        try{
            productRepository.deleteById(productId);
            response.setStatus(MessageType.SUCCESS);

        }catch (Exception e){
            response.setStatus(MessageType.FAIL);
        }
        return ResponseEntity.ok(response);
    }

Ajax-запрос

$(document).on('click','.delIcon',function(){
        var row1 = $(this).closest('tr');
        row = row1;
        var data = $('#datatable').dataTable().fnGetData(row1);
        var productId = data[0];

            $.ajax({
            url: "delete",
            type: "POST",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            data: {"prod_id": productId  },
            success: function(response) {
                if(response.status == 'SUCCESS' ){
                      alert('Deleted Successfully');
                }
            },
            error: function(xhr) {
                alert("Delete response got");
            }
            });

    });

1 Ответ

0 голосов
/ 30 сентября 2018

Проблема была устранена после удаления contentType: "application / json; charset = utf-8", так как @Postmapping принимает только "application / x-www-form-urlencoded". Так что если я определю contentType, то он будет работать нормально

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...