2016-04-11 7 views
0

Я пытаюсь отправить этот вызов ajax, который не работает. Я не могу понять, почему это так.Запрос Ajax возвращает неверный запрос (400) на POST

Может кто-нибудь, пожалуйста, взгляните на мой код.

Звонок даже не попадает в код контроллера (мне кажется), хотя в firebug я вижу, что полезная нагрузка преобразуется правильно.

JQuery

function userAdd(){ 
    var array2=new Array(); 
    var array1=new Array(); 

    var value2=$('input:checkbox.value2').each(function() { 
     if(this.checked){ 
      array2.push($(this).attr('itemLabel')); 
     } 
     }); 

    var value1=$('input:checkbox.value1').each(function() { 
     if(this.checked) 
     array1.push($(this).attr('itemLabel')); 
     }); 

    var report = ({ 
        user:user, 
        address:$("#address").val(),     
        regimesRemove:array2, 
        regimesReport:array1 

       }); 


     jQuery.ajax({ 
        async : false, 
        cache : false, 
        url : "/myapp/user/addUser", 
        type : 'POST', 
        contentType: "application/json; charset=utf-8", 
        dataType : 'json', 
        data:JSON.stringify(report), 
        success : function(data) { 
         if(data.errorMessage == undefined){ 
          alert(data.errorMessage); 
          window.location.reload(); 
         }else if(data.errorMessage !=''){ 
          alert(data.errorMessage); 
          window.location.href="/myapp/user"; 
         else 
          window.location.href="/myapp/user"; 
        }, 
        complete : function(request, status) { 
        if (status == undefined || status == "error" || status == "parsererror") { 

          alert("Error with status: "+status); 
          window.location.href="/myapp/user/"; 
         } else if (status != 'success'){ 
          alert("error with status: "+status); 
          alert('error in searching Invalid or submitted records: '+status); 
       } 
     } 
    }); 
}   

Java

@RequestMapping(value="/addUser",method=RequestMethod.POST) 
    public @ResponseBody Report updateRulesForRequest(Model model, HttpServletRequest request,@RequestBody Report report){ 



    } 

журнал

Request URL:http://localhost:8080/myapp/user/addUser 
Request Method:POST 
Status Code:400 Bad Request 
Response Headers 
view source 
Cache-Control:must-revalidate,no-cache,no-store 
Content-Length:1417 
Content-Type:text/html;charset=ISO-8859-1 
Server:Jetty(7.0.2.v20100331) 
Request Headers 
view source 
Accept:application/json, text/javascript, */*; q=0.01 
Accept-Encoding:gzip, deflate 
Accept-Language:en-US,en;q=0.8 
Connection:keep-alive 
Content-Length:335 
Content-Type:application/json; charset=UTF-8 
Cookie:timezoneOffset=330; timezoneOffset=330; JSESSIONID=16ukve3dwiqt6 
Host:localhost:8080 
Origin:http://localhost:8080 
Referer:http://localhost:8080/myapp/selectUser/getUser?Id=C9067134CA9711E56095E83935B46D68 
User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36 
X-Requested-With:XMLHttpRequest 
+0

Код статуса HTTP 400 означает, что с вашим запросом что-то не так. Не могли бы вы скопировать paster ваш запрос ajax из firebug здесь? Это поможет выявить проблему. Кроме того, ваш класс контроллера сопоставлен с '/ user', правильно? – Uzbekjon

+0

да правый! он был сопоставлен с/user – fiddle

+0

Был ли в вашем запросе '' '' или '' '? –

ответ

0

Убедитесь, что URL вы используете т o исправить метод контроллера. Попробуйте это с обновленным значением url в запросе ajax.

jQuery.ajax({ 
       async : false, 
       cache : false, 
       url : "${pageContext.request.contextPath }/myapp/user/addUser", 
       type : 'POST', 
       contentType: "application/json; charset=utf-8", 
       dataType : 'json', 
       data:JSON.stringify(report), 
       success : function(data) { 
        if(data.errorMessage == undefined){ 
         alert(data.errorMessage); 
         window.location.reload(); 
        }else if(data.errorMessage !=''){ 
         alert(data.errorMessage); 
         window.location.href="/myapp/user"; 
        else 
         window.location.href="/myapp/user"; 
       }, 
       complete : function(request, status) { 
       if (status == undefined || status == "error" || status == "parsererror") { 

         alert("Error with status: "+status); 
         window.location.href="/myapp/user/"; 
        } else if (status != 'success'){ 
         alert("error with status: "+status); 
         alert('error in searching Invalid or submitted records: '+status); 
      } 
    } 
+0

URL-адрес правильный. Я дважды проверял. – fiddle

+0

попробуйте с обновленным url $ {pageContext.request.contextPath}/myapp/user/addUser –

+0

попробовал .. не работал. – fiddle

Смежные вопросы