1. 程式人生 > >Springmvc前臺通過ajax傳值到後臺用@RequestBody接收,報415/400錯誤

Springmvc前臺通過ajax傳值到後臺用@RequestBody接收,報415/400錯誤

傳普通資料沒太大問題,就是傳json格式的資料在後臺轉化為javaBean有點問題

需求:前臺傳json格式的資料,後臺用@RequestBody轉換為對應的javaBean,

1:首先json裡的資料應該對應javaBean裡的屬性,否則肯定會報錯,舉個栗子

{"USER_ID":leader,"Users":users};

上面這個格式的資料,在對應的JavaBean裡一定要有String USER_ID;String Users;這兩個屬性,就是包含的關係

2:出現415/400問題的原因是前臺傳到後臺或者後臺傳到前臺的資料格式不正確,格式應該都為application/json(前臺接受的都為json,text不討論)

解決方法:

first:首先保證這裡沒有配錯

springmvc.xml

<!-- 啟用spring mvc 註解-->
   <mvc:annotation-driven>
<!-- 啟動JSON格式的配置 -->
   <mvc:message-converters>
   <!-- 這裡也可以自己定製class -->
        <bean class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter">
            <property name="supportedMediaTypes">
                <list>
                    <value>text/html;charset=UTF-8</value>  
                     <value>application/json</value>    

             //伺服器支援json格式的資料,後臺傳到前臺再次設定
                </list>
            </property>
        </bean>
    </mvc:message-converters>
   </mvc:annotation-driven>

second:

var saveData ={"USER_ID":leader,"Users":users};
     $.ajax({
            type : "POST",
            url : "XXXX",
            data : JSON.stringify(saveData),
            contentType : "application/json",    

         //傳送至伺服器的型別   
            dataType : "json",                                     //預期伺服器返回型別  
            success : function(data) {
                alert(data.msg);
            },error:function(data){
            alert(data.msg);
            }
        });

third:

@RequestMapping(value ={ "/xxx"}, method = { RequestMethod.POST})
@ResponseBody
   public String save(@RequestBody JavaBean型別 aaa) throws Exception {
       log.info("ajax");


        int i=xxxService.xxx(aaa);
        String massage;
        if(i>0){
       
        return "{\"msg\":\"success\"}";          //json格式
        }else{
       
        return "{\"msg\":\"fail\"}";
        }
       
   }

標紅的比較關鍵

相關推薦

Springmvc前臺通過ajax後臺@RequestBody接收,415/400錯誤

傳普通資料沒太大問題,就是傳json格式的資料在後臺轉化為javaBean有點問題 需求:前臺傳json格式的資料,後臺用@RequestBody轉換為對應的javaBean, 1:首先json裡的

點選button觸發JS函式,通過AJAX後臺查詢,將返回處理成table表格,新增到模態框裡顯示

//點選觸發onclick事件,攜帶此行的bodycode傳參給JS函式tiaozhuan();(這裡的<a>標籤,可以換成<button>) <td> <a href="javascript:void(0);" oncli

mvc通過ajaxlis實體類型

ret 通過 http post UNC 實體 name 接受 clas 前臺jquery var dt = { ‘student‘: [] }; for (var i = 0; i < 3; i++) { d

springmvc前臺get方式異常 Name for argument type not available

今天嘗試學習了springmvc傳值,get方式,url如下: <td><a href="${pageContext.request.contextPath }/items/editItems.action?id=${item.id}">修改商品&l

兩個jsp頁面通過ajax

當系統建立ApplicationContext容器是,預設會預初始化所有的singleton Bean。也就是說,當ApplicationContext容器初始化完成後,容器中所有的singleton Bean也例項化完成。這意味著:系統前期建立Applicat

ajax 後臺無法獲取

今天 使用ajax+vue 做頁面遇到很奇怪的問題,主要有如下的問題:1、controller層 在使用 在使用@RequestParam接收引數時@RequestMapping中的method必須是RequestMethod.GET。2、如果ajax中設定了 content

Ajax後臺收到的是null

瀏覽器裡看到的是處理好的字串,後端可以拿到除了commodityId之外的三個資料,只有它會轉換成null,不知道為什麼。現在知道了,還是引數沒有對應上的問題,我前臺是用ajax POST一個普通的物件,dataType是json,這個物件的屬性要和後臺的引數名稱完全一致,如

ajax後臺獲取初步瞭解

前臺頁面程式碼如下: <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%> <%@ taglib prefix="c" uri="http://java.

ASP.NET MVC前臺js傳送陣列,後臺陣列接收

var idsArr=[]; idsArr.push(123); idsArr.push(556); idsArr.push(890); //前臺ajax寫法  $.ajax({url: "/Coa

實現ajax後臺前臺的相互與(地址需轉碼後

首先需要導包 commons-beanutils-1.7.0.jar commons-collections-3.2.1.jar commons-lang-2.3.jar commons-lang3-3.1.jar commons-logging-1.0.4.jar 後臺接受前臺需用set

EXTAJAX後臺簡單處理

Ext.Ajax.request({// 傳送請求url : deleteUrl,method : 'POST',params : {jsonStr : Ext.util.JSON.encode(re

現在越來越喜歡ajax了,這樣能讓網站的體驗性很好,今天就總結了一下常用的

click put nbsp index.php 常用 體驗 code size .get 這是不用循環的方法 就是傳過來的是一位數組 //編輯黨建分類 function gk_bj(id){ $.post("{:U(‘Luser/lei_edlt

springmvc ajax詳解

div ring ajax info clas spring image png 技術 springmvc ajax傳值詳解

js使用ajax後臺後臺返回字串處理

之前使用js獲取後臺生成的JSON字串,然後給select填充值,這次需要重新獲取一次。 這裡的目標是,在一個input輸入框裡,輸入一個使用者名稱,判斷是否為空,是否不存在,如果存在返回幾個欄位給前臺,前臺再繫結到其他input上 直接壘程式碼 HTML頁面 <in

前臺通過base64圖片到後臺的實現方法

前臺將圖片轉換為base64的方法如下: $("#article_image").change(function(){ var file = this.files[0]; //判斷型別是不是圖片 if(!/image\/\w+/.

springMVC實體表單上圖片+後臺hibernate註解管理的bean

直接上程式碼:1,前臺的jsp: 後臺程式碼: 主要就是我的資料庫的crud是利用的hibrenate的基於bean的查詢,這樣一整,前臺顯示的時候顯示不出來,就是因為MulitPart這個型別,photo的MulitpartFile型別不知道對於

通過ajax方式從後臺查詢出資料並填入前臺的select中

首先需要清空之前下拉框中的內容,否則會出現選項重複的情況,根據url的路徑查詢出select中所要展示的list,判斷list是否為空,如為空,需要置入空行,如不為空,用jquery取到select後將整個list用append的方式置入,程式碼如下,附抽出的ajax提交方

jspajax給servlet並返回

1、index.jsp <%-- Document : index Created on : 2017-9-26, 22:27:13 Author : Administrator --%> <%@page conte

SpringMVC前臺利用ajax和FormData上檔案

前臺的頁面結構及js邏輯 1、 html結構: <%--此處必須是multipart/form-data--%> <form method="post" enctype="mu

flask前臺資料通過ajax傳遞到後臺之點贊與視訊播放量

實現功能: 1.點選播放視訊,後臺視訊點選量增加 2.點贊按鈕,點選為紅色,後臺視訊贊數增加;再次點贊,按鈕變為灰色,後臺視訊贊數不增加 前臺點贊按鈕: <a href="#" id="zan-{{ v.id }}" name="iconfont zan">