xmlHttp.send(json),在struts中request.reader()为空

  •  这个是通过xmlHttp传的一个json字符串
var  xmlHttp;
 function  createXMLHttpRequest()   {
     if  (window.ActiveXObject){
        xmlHttp=new  ActiveXObject("Microsoft.XMLHTTP");
    }  
     else   if  (window.XMLHttpRequest)   {
        xmlHttp  =   new  XMLHttpRequest();
    } 
} 
    
 function  doJSON(){
     alert("bigin");
 
     var  car  =  getCarObject();
    
     // Use the JSON JavaScript library to stringify the Car object 
      var  carAsJSON  =  JSON.stringify(car);
      //var  jsonString=car.toJSONString();
    alert( " Car object as JSON:\n  "   +  carAsJSON);
    
    
     var url="<%=path%>/servlet/TestJSON";
     alert(url);    
    createXMLHttpRequest();
    xmlHttp.open( "post" , url,  true );
    xmlHttp.onreadystatechange=handleStateChange;
    xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");    
    xmlHttp.send("ttt="+carAsJSON);
} 
    
 function  handleStateChange()   {
     if (xmlHttp.readyState==4 )   {
         if (xmlHttp.status==200 )   {
            parseResults();
        } 
    } 
} 
 
  function  parseResults(){
     var  responseDiv  =  document.getElementById( "serverResponse" );
     if (responseDiv.hasChildNodes())   {
        responseDiv.removeChild(responseDiv.childNodes[0]);
    } 
    
     var  responseText  =  document.createTextNode(xmlHttp.responseText);     
     responseDiv.appendChild(responseText);
} 
 
  function  getCarObject()   {
     return   new  Car( " Dodge " ,  " Coronet R/T " ,  1968 ,  " yellow " );
} 
 
  function  Car(make, model, year, color)   {
     this .make  =  make;
     this .model  =  model;
     this .year  =  year;
     this .color  =  color;
} 
  • servlet中获取

    

response.setContentType("text/html");
		String str=readJSONStringFromRequestBody(request);
		
		PrintWriter out=response.getWriter();
		out.print("ok"+str);
		out.flush();
		out.close();
  •  readJSONStringFromRequestBody(HttpServletRequest request)  方法
private  String readJSONStringFromRequestBody(HttpServletRequest request)  {
      StringBuffer json  =   new  StringBuffer();
      
      String line  =   null ;
       try    {
           BufferedReader reader=request.getReader();
           while ((line=reader.readLine())!=null )   {
              json.append(line);
           
          } 
      } 
        catch (Exception e)   {
          System.out.println( " Error reading JSON string: "   +  e.toString());
      } 
       return  json.toString();
	  } 

 ok了

但是在struts中就怎么也的不到json的值。只能通过另一个方面就是

String ttt=request.getParameter("ttt");

 

不知道有没有知道这个是为什么呢???

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值