Получение 400 (неверный запрос) при вызове метода AJAX - PullRequest
0 голосов
/ 21 декабря 2018

Я вызываю метод AJAX с помощью события onClick () кнопки.

 function submitDateFunction()
 {
   var previousExceptions=new Object();
  previousExceptions.batchId=batchId;
  previousExceptions.dateFrom=dateFrom;
  previousExceptions.dateTo=dateTo;
 $.ajax({
        type:"POST",
        url : 'getPreviousExceptions/',
        dataType:'json',
        data: JSON.stringify(previousExceptions),
        contentType : 'application/json',
        success : function(data) {
        alert("success");

        },
         error: function(jqXHR, exception) { 
                alert(jqXHR.status); 
            } 
    });

Метод контроллера My Spring

@RequestMapping(value={"batchdetails/previousExceptions/getPreviousExceptions"},method=RequestMethod.POST)
@ResponseBody
    public List<BatchExceptionDetails> displayPreviousExceptions(@RequestBody PreviousException previousException)
{
    ...

    return batchExceptionDetails;

}

}

Вот мой предыдущий класс исключений

package com.bmdashboard.beans;

import java.util.Date;

public class PreviousException {

    private int batchId;
    private Date dateFrom;
    private Date dateTo;



    public PreviousException() {
        super();
    }
    public int getBatchId() {
        return batchId;
    }
    public void setBatchId(int batchId) {
        this.batchId = batchId;
    }
    public Date getDateFrom() {
        return dateFrom;
    }
    public void setDateFrom(Date dateFrom) {
        this.dateFrom = dateFrom;
    }
    public Date getDateTo() {
        return dateTo;
    }
    public void setDateTo(Date dateTo) {
        this.dateTo = dateTo;
    }
    @Override
    public String toString() {
        return "PreviousException [batchId=" + batchId + ", dateFrom="
                + dateFrom + ", dateTo=" + dateTo + "]";
    }



}

Кнопка, которая вызывает функцию JavaScript

<input type="submit" value="Submit" onclick="submitDateFunction()" >

Я получаю значения через:

 var batchId=document.getElementById('batchIdForAjax').innerHTML;
 var dateFrom;
 var dateTo;

  $(function() {
    $( "#datepickerFrom" ).datepicker({ dateFormat: "yy-mm-dd" });
    $("#datepickerFrom").on("change",function(){
       dateFrom = $(this).val();

    });
});

$(function() {
    $( "#datepickerTo" ).datepicker({ dateFormat: "yy-mm-dd" });
    $("#datepickerTo").on("change",function(){
        dateTo = $(this).val();

    });
});

Я получаю ошибкуPOST http: //.../getPreviousExceptions/ 400 (неверный запрос) при отладке с помощью консоли инструментов Google Chrome Developer.

1 Ответ

0 голосов
/ 21 декабря 2018

Я изменил тип данных dateFrom и dateTo на String с java.util.date и изменил свой AJAX, как показано ниже

var previousExceptions = {
      "batchId" : batchId,
      "dateFrom":dateFrom,
      "dateTo":dateTo     
   };


$.ajax({
            type:"POST",
            url : 'getPreviousExceptions/',
            dataType: 'json',
            data: JSON.stringify(previousExceptions),
            contentType : 'application/json; charset=utf-8',
            success : function(data) {
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...