$.ajax请求与SpringMVC接收

application-mvc.xml配置

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

	<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">  
            <property name="messageConverters">  
                <list>  
                    <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>  
                </list>  
            </property>
        </bean>  
        
    <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
    <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的URL地址 -->
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
        <!--视图解析器配置优先级 -->
        <property name="order" value="1" />
    </bean>

方式一:请求参数为对象,接收以对象接收

$.ajax请求代码

$.ajax({
	    	url : host + '/utilitiesCharge/queryUtilitiesList.htm',type:'POST',dataType:'json',// 返回数据格式,此配置可有可无
	    	data: {item: typeChange,companyId: companyId,tel: mobile,typeNum: typeCode,billDate: billDate,payAmount: payAmount},success:function(data,textStatus,jqXHR){
	   	    	var resp = data; // data为JSON对象	   	    	
	   	    },error:function(xhr,textStatus){
	   	        console.log('错误')
	   	        console.log(xhr)
	   	        console.log(textStatus)
	   	    }

SpringMVC接收代码

@RequestMapping("/queryUtilitiesList")
	@ResponseBody
	public BaseResponse queryUtilitiesList(DLUtilitiesQueryRequest request) {
		logger.info("request params:" + JSONObject.toJSONString(request));
    }

其中,data为对象,

data: {item: typeChange,payAmount: payAmount}

则SpringMVC,可直接用对象接收

DLUtilitiesQueryRequest request

方式二:请求以JSON字符串,接收讲JSON字符串转换为对象再接收

$.ajax请求代码

$.ajax({
	    	url : host + '/utilitiesCharge/queryUtilitiesList.htm',// 返回数据格式,此配置可有可无
	    	contentType:'application/json',// 声明请求参数格式为JSON
	    	data: JSON.stringify({item: typeChange,payAmount: payAmount}),//JSON字符串
	   	    success:function(data,jqXHR){

差异部分:

contentType:'application/json',// 声明请求参数格式为JSON
data: JSON.stringify({item: typeChange,//JSON字符串

SpringMVC接收代码

@RequestMapping("/queryUtilitiesList")
	@ResponseBody
	public BaseResponse queryUtilitiesList(@RequestBody DLUtilitiesQueryRequest request) {
		logger.info("request params:" + JSONObject.toJSONString(request));
    }

差异部分:

@RequestBody DLUtilitiesQueryRequest request

SpringMVC返回与$.ajax接收

各项代码参考上面

  1. 如果返回的是一个网页内容,则@ResponseBody不用声明,返回字符串(即页面地址如:return "/web/xxx")
  2. 如果返回的是一个JSON,则要声明@ResponseBody:
  • 如果返回的是一个JSON字符串,则ajax的success中的data参数为字符串,
  • 如果返回的是JSON对象,则data为对象。
  • 由于有@RresponseBody标示,SpringMVC会将头信息中的Content-Type:application/x-www-form-urlencoded(默认值)改为application/json;,即返回为JSON格式,所以ajax的dataType:"json"可有可无。

$.ajax与SpringMVC的那点事-传参与返回的更多相关文章

  1. 应用程序关闭时的iOS任务

    我正在构建一个应用程序,通过ajax将文件上传到服务器.问题是用户很可能有时不会有互联网连接,并且客户希望在用户重新连接时安排ajax调用.这可能是用户在离线时安排文件上传并关闭应用程序.应用程序关闭时可以进行ajax调用吗?

  2. android – Phonegap本地构建 – jquery ajax错误:readystate 0 responsetext status 0 statustext error

    解决方法您是否在索引文件中包含了内容安全元标记?

  3. Ajax简单的异步交互及Ajax原生编写

    一提到异步交互大家就会说ajax,仿佛ajax这个技术已经成为了异步交互的代名词.那下面将研究ajax的核心对象

  4. Ajax跨域问题的解决办法汇总(推荐)

    本文给大家分享多种方法解决Ajax跨域问题,非常不错具有参考借鉴价值,感兴趣的朋友一起学习吧

  5. ajax编写简单的登录页面

    这篇文章主要为大家详细介绍了ajax编写简单登录页面的具体代码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  6. ajax从JSP传递对象数组到后台的方法

    今天小编就为大家分享一篇ajax从JSP传递对象数组到后台的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  7. 解决ajax返回验证的时候总是弹出error错误的方法

    这篇文章主要介绍了解决ajax返回验证的时候总是弹出error错误的方法,感兴趣的小伙伴们可以参考一下

  8. 使用AJAX完成用户名是否存在异步校验

    这篇文章主要介绍了使用AJAX完成用户名是否存在异步校验的相关资料,需要的朋友可以参考下

  9. ajax实现无刷新省市县三级联动

    这篇文章主要为大家详细介绍了ajax实现无刷新省市县三级联动的相关资料,利用三层架构实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. jQuery Ajax 实现分页 kkpager插件实例代码

    本文通过实例代码给大家讲解了jQuery Ajax 实现分页 kkpager插件功能,需要的的朋友参考下吧

随机推荐

  1. Ajax+SpringMVC requestBody

    ajax+SpringMVC经验证,上文写的是比较正确的,所以转过来保存一下.传JSON对象前端后端传JSON字符串+@RequestBody接收前端后端

  2. H5FormData+AJAX+SpringMVC跨域异步上传文件

    最近都没时间整理资料了,一入职就要弄懂业务,整天被业务弄得血崩。总结下今天弄了一个早上的跨域异步上传文件。主要用到技术有HTML5的FormData,AJAX,SpringMVC。注意这个upload.js是自己写的,里面那个ajaxFileUpload并不是jQuery提供的那个上传插件的方法。服务端接口写法:@ResponseBody@RequestMappingpublicvoidaddPicthrowsIOException{System.out.println;response.getWrite

  3. Ajax异步提交List对象,SpringMvc如何接收?

    Springmvc的一个问题一直被广大开发者所诟病,就是在list对象的转换上一直并不是特别好用,网上很多解决方法关于不同的表单提交方式这里就不多说了,只介绍下ajax方式提交list对象的方法。比如你要通过ajax传递下面一段数据到controller:如果像下面这样写肯定是无法传递到后端的:这样肯定会报错User找不到之类的,那么怎么解决呢?

  4. ajax json异步springmvc http请求返回状态码为406的解决

    是因为缺少json相关jar包,网上很多人只是给出了前两个jar,其实不全,依旧406,应该给出四个

  5. AJAX和SpringMVC交互

    AJAX利用jquerySPRING

  6. ajax与springmvc传参方式总结

    若传递的是数组对象,需要用第二种方式,否则失败。①前台$.ajax;后台:@RequestMapping@ResponseBodypublicStringdel{return"";}如果不加Traditional,通过观察浏览器中发送的请求,可以发现参数如下:newArray[]:delArray[]:可以看到,参数的名字为newArray[]而不是我们所定义的newArray,也就是说,当传递数组时,会在我们的数组名称后自动加上”[]”,所以后台接不到。

  7. ajax传递json参数到springmvc

    前后端交互,经常出现400或者415,这里写个小笔记,已做参考,不断完善方式一:前台代码:后台代码:

  8. $.ajax与SpringMVC的那点事-传参与返回

    由于有@RresponseBody标示,SpringMVC会将头信息中的Content-Type:application/x-www-form-urlencoded(默认值)改为application/json;,即返回为JSON格式,所以ajax的dataType:"json"可有可无。

  9. AJAX+JQuery+SpringMVC实现图片上传

    利用ajax实现前端与后台的交互,从服务端获取数据,并调回到前端进行解析。下面是前端代码:下面上后端的代码:Controller层Service层:DAO层:以上都是获取数据的部分,下面是提交数据的代码:Controller:Service:这个是文件上传的关键部分以上

  10. AJAX+SpringMVC 获取后台数据的方式

    利用ajax同步获取服务器的数据,当页面加载完成的时候后台代码:Service层:List转json方法:学习中。。。。。。

返回
顶部