Ajax-json总结

6 篇文章 0 订阅
3 篇文章 0 订阅

 

 

 

XMLHttpRequest 对象

所有现代浏览器均支持 XMLHttpRequest 对象(IE5 和 IE6 使用 ActiveXObject)。

XMLHttpRequest 用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

创建 XMLHttpRequest 对象

所有现代浏览器(IE7+、Firefox、Chrome、Safari 以及 Opera)均内建 XMLHttpRequest 对象。

创建 XMLHttpRequest 对象的语法:

variable=new XMLHttpRequest();

老版本的 Internet Explorer IE5 IE6)使用 ActiveX 对象:

variable=new ActiveXObject("Microsoft.XMLHTTP");

为了应对所有的现代浏览器,包括 IE5 和 IE6,请检查浏览器是否支持 XMLHttpRequest 对象。如果支持,则创建 XMLHttpRequest 对象。如果不支持,则创建 ActiveXObject :

var xmlhttp;

if (window.XMLHttpRequest)

  {// code for IE7+, Firefox, Chrome, Opera, Safari

  xmlhttp=new XMLHttpRequest();

  }

else

  {// code for IE6, IE5

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

 

 

post

 

 

 

 

 

<a href="javascript:;" onclick="alert(getXhr());"> 获取ajax对象

 

 

xhr.open("post","post_test.do",true);

 

xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');

 

xhr.send("uname=DR");

 

 

 

 

 

String name = req.getParameter("name");

//String str = new String(name.getBytes("iso-8859-1"), "utf-8");

System.out.println(name);

 

var uri = "encode_get.do?name=" + document.getElementById("name").value;

xhr.open("get", encodeURI(uri),true);

 

 

 

 

 

Ajax  get方法传递中文:

 

第一种方式

 

(前台写法)

1. var userv=

2. document.getElementsByName('username')[0].value;

xmlhttp.open("get","servlet/TestServlet?username="+userv,true);

xmlhttp.send(null);

(服务端写法)

  String name = new String(request.getParameter("username").getBytes("iso8859-1"),"utf-8");

System.out.println(name);

结果:QQ的

第二种方式

 

(前台写法)

1.   <Connector port="80" protocol="HTTP/1.1"

               connectionTimeout="20000"

               redirectPort="8443"

               URIEncoding="UTF-8" />

2.var userv=document.getElementsByName('username')[0].value;

xmlhttp.open("get","servlet/TestServlet?username="+encodeURI(userv),true);

xmlhttp.send(null);

(服务端写法)

  String name=request.getParameter("username");

System.out.println(name);

 

Ajax post方法传递中文:

(前台写法)

xmlhttp.open("post","servlet/TestServlet",true); xmlhttp.setRequestHeader('content-type','application/x-www-form-urlencoded');

 var userv=

document.getElementsByName('username')[0].value

xmlhttp.send("username="+userv);

后台写法

    request.setCharacterEncoding("utf-8");

 String name=request.getParameter("username");

 System.out.println(name);

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值