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

Ajax与Java通过POST方式交互

发布时间:2020-12-16 01:39:39 所属栏目:百科 来源:网络整理
导读:1、关于Ajax交互的步骤 1.1 获取到xmlhttprequest 1.2 设置xmlhttprequest的onreadystatechange响应事件 1.3 准备获取ajax请求xmlhttp.open("POST","AjaxServerlet",true); 1.4 设置消息头为表单形式,模仿表单的POSt提交xmlhttp.setRequestHeader("Content-t

1、关于Ajax交互的步骤

1.1 获取到xmlhttprequest

1.2 设置xmlhttprequest的onreadystatechange响应事件

1.3 准备获取ajax请求xmlhttp.open("POST","AjaxServerlet",true);

1.4 设置消息头为表单形式,模仿表单的POSt提交xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");

1.5 发送ajax请求xmlhttp.send("age=18&name=zhang"); //Ajax的POST请求,参数是通过xmlhttp.send()方法携带的

1.6 处理Ajax交互获取到的数据,具体的处理在xmlhttprequest的onreadystatechange响应事件中实现

2、Ajax与Java的Servlet通过POSt交互

2.1 html代码

[html] view plain copy
print ?
  1. <body>
  2. buttonid="mybtn">点击</button>
  3. divid="myAjax">div>
2.2 JavaScript代码

copy
scripttype="text/javascript"//1、获取到xmlhttprequest
  • functiongetXmlhttp(){
  • varxmlhttp;
  • if(window.XMLHttpRequest){//codeforIE7+,Firefox,Chrome,Opera,Safari
  • xmlhttp=newXMLHttpRequest();
  • }else{//codeforIE6,IE5
  • newActiveXObject("Microsoft.XMLHTTP");
  • }
  • returnxmlhttp;
  • window.onload=function(){
  • document.getElementById('mybtn').onclick=function(){
  • //1、获取到xmlhttprequest对象
  • varxmlhttp=getXmlhttp();
  • //2、xmlhttprequest的响应事件
  • xmlhttp.onreadystatechange=if(xmlhttp.readyState==4&&xmlhttp.status==200){
  • //5、操作获取到的信息
  • //5.1ajax返回的数据,转换为javascript对象
  • //5.1.1利用eval实现转换
  • varajaxResult=eval("("+xmlhttp.responseText+")");
  • //5.1.2利用jquery的方法,对于jQuery.parseJSON(),键值必须为双引号
  • /*varajaxResult=jQuery.parseJSON(xmlhttp.responseText);*/
  • alert(ajaxResult)
  • //5.2获取JavaScript对象的属性
  • varage=ajaxResult.age;
  • varname=ajaxResult.name;
  • //5.3获取到页面的DIV,并设置内容
  • varmydiv=document.getElementById("myAjax");
  • mydiv.innerHTML="name:"+name+","+"age:"+age;
  • }
  • //3、准备获取ajax请求
  • //3.1对于get请求,带参数的方式,直接在open函数的请求地址带上参数
  • xmlhttp.open("POST",true);
  • //4、发送ajax请求
  • xmlhttp.setRequestHeader("Content-type",
  • "application/x-www-form-urlencoded");
  • xmlhttp.send("age=18&name=zhang");
  • };
  • script>
  • 2.3 style代码

    copy
    styletype="text/css"#myAjax{
  • width:400px;
  • height:400px;
  • border:1pxdashedred;
  • text-align:center;/*div中的文字水平方向居中显示*/
  • line-height:400px;/*这个和div的高度相同,div中的文字就会垂直方向居中显示*/
  • font-size:16px;
  • font-weight:bold;
  • style>
  • 2.4 AjaxServerlet.java代码

    [java] copy
      publicclassAjaxServerletextendsHttpServlet{
    1. voiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
    2. throwsServletException,IOException{
    3. Stringage=request.getParameter("age");
    4. Stringname=request.getParameter("name");
    5. Personperson=newPerson(name,age);
    6. StringpersonJSON="{"name"+"":""+name+"","+""age"
    7. +"":"+age+"}";
    8. System.out.println(personJSON);
    9. response.getWriter().write(personJSON);
    10. voiddoPost(HttpServletRequestrequest,0); background-color:inherit">doGet(request,response);
    11. }
    2.5 web.xml代码

    copy
    servletservlet-name>AjaxServerletservlet-class>com.ajax.com.AjaxServerletservlet-mappingurl-pattern>/AjaxServerletwelcome-file-listwelcome-file>index.html>

    (编辑:李大同)

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

      推荐文章
        热点阅读