加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ssm 下 前端ajax 访问后台 以及出现的错误

发布时间:2020-12-16 03:33:06 所属栏目:百科 来源:网络整理
导读:前端使用AJax 发送数据到后台,后台接受数据 上代码: maven: !-- Json -- dependency groupIdorg.codehaus.jackson/groupId artifactIdjackson-mapper-asl/artifactId version1.7.0/version /dependency !--json的jar包 -- dependency groupIdcom.fasterxm
前端使用AJax 发送数据到后台,后台接受数据


上代码:


maven:

<!-- Json -->
    <dependency>
      <groupId>org.codehaus.jackson</groupId>
      <artifactId>jackson-mapper-asl</artifactId>
      <version>1.7.0</version>
    </dependency>
    <!--json的jar包 -->
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-core</artifactId>
      <version>2.1.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
      <version>2.1.0</version>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-annotations</artifactId>
      <version>2.1.0</version>
    </dependency>

    <dependency>
      <groupId>net.sf.json-lib</groupId>
      <artifactId>json-lib</artifactId>
      <version>2.4</version>
      <classifier>jdk15</classifier>
    </dependency>

在Spring配置文件下添加Json

<!-- 配置json数据 -->
	<bean
			class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
		<property name="messageConverters">
			<list>
				<ref bean="mappingJackson2HttpMessageConverter" />
			</list>
		</property>
	</bean>
	<bean id="mappingJackson2HttpMessageConverter"
		  class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
		<property name="supportedMediaTypes">
			<list>
				<value>text/html;charset=UTF-8</value>
				<value>text/json;charset=UTF-8</value>
				<value>application/json;charset=UTF-8</value>
			</list>
		</property>
	</bean>


前端使用Jaon 需要添加 JQuery


JSP页面添加 jQyery

<%--引入C标签--%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%--开启EL表达式  Jsp默认 关闭的--%>
<%--<%@ page isELIgnored="false"%>--%>


<c:set var="ctx" value="${pageContext.request.contextPath}"/>

<script type="text/javascript">
    var contextRootPath = "${ctx}";
</script>
<%--引入jquery框架--%>
<script  src="${ctx}/jQuery/jquery-1.4.2.js"></script>
<script
        src="${ctx }/jQuery/jquery.js" type="text/javascript">

</script>


准备完成 ,开始 ajax

一个简单的表单

<form id="form">
    <input type="text" id="in"> <br>
    <span id="sp"></span> <br>
    <input type="button" id="button">

</form>

使用 jQuery



<script type="text/javascript">
    $(document).ready(function () {
        $("#in").focus(function () {
        });
        $("#button").click(function () {
            var ins = {ins : $("#in").val()};
            $.ajax({
                type:"POST",url:"${pageContext.request.contextPath}/click.action",dataType:"json",contentType:"application/json; charset=utf-8",data:JSON.stringify(ins),success:function (data) {
                    window.location.href = "/WEB-INF/page/welcome.jsp";
                    $("#in").val("");
                },error:function () {
                }
            });
        });
    });

</script>



可能出现的错误


有时候因为没有log信息 ,不知道是什么错,浏览器只是出现一个白页面,没有内容,那么就打开浏览器的控制台(火狐的是F12),查看网络信息,看一下HTTP错误

1, 415 unsupported media type

这个是因为

dataType:"json",

这两句话 没有加上 ,因为默认是不支持这种形式的,需要自己扩展,

2,400错误:

传的参数是否跟后台@resquestbody参数一一 对应(List前台是数组),还有是否加上了jackson的四个jar包,spring3.0和3.1.1不支持jackson 2.x 3.1.3支持

3,500 internal server error

后台没有接收到json信息 ,看一下 是不是获取的时候,key是不是错了

后台获取信息

@Controller
public class FormClickController {

    @ResponseBody
    @RequestMapping("/click.action")
    public void click(@RequestBody JSONObject jsondata ) {
        System.out.println("============================================>>>>"+jsondata.getString("ins"));

    }
}


相关文章

http://blog.csdn.net/mr_li13/article/details/51636574

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读