2016-04-11 14 views
0

Ich versuche, diesen Ajax-Aufruf zu senden, der fehlschlägt. Ich kann wirklich nicht verstehen, warum es so ist.Ajax-Anfrage gibt ungültige Anfrage (400) auf POST zurück

kann jemand bitte einen Blick auf meinen Code.

Der Anruf ist nicht einmal den Controller-Code (scheint mir), obwohl in der FireBug kann ich sehen, die Nutzlast wird richtig umgewandelt.

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){ 



    } 

log

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-Statuscode 400 bedeutet, dass mit Ihrer Anfrage etwas nicht stimmt. Könntest du bitte deine Ajax-Anfrage von Firebug hier kopieren? Das würde helfen, das Problem zu identifizieren. Auch Ihre Controller-Klasse wurde '/ user' zugeordnet, oder? – Uzbekjon

+0

ja richtig! Es wurde zugeordnet zu/user – fiddle

+0

Hat Ihre Anfrage ein '' '' '' '?? –

Antwort

0

Achten Sie darauf, die URL, die Sie t verwenden o hit die Methode des Controllers ist richtig. Versuchen Sie dies mit dem aktualisierten url Wert in der Ajax-Anfrage.

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 ist korrekt. Ich habe überprüft. – fiddle

+0

versuchen Sie es mit der aktualisierten URL $ {pageContext.request.contextPath}/myapp/user/addUser –

+0

versucht .. hat nicht funktioniert. – fiddle

Verwandte Themen