2013-05-04 47 views
-2
String isno1=request.getParameter("isbn"); 
     String bktitle2=request.getParameter("booktitle"); 
     String authr3=(String) request.getParameter("author"); 
     System.out.println(isno1+bktitle2+authr3); 
     Enumeration paramaterNames = request.getParameterNames(); 

阿贾克斯获得空参数时,这是我在参数servlet的话,我刚开了我的价值观为“空”的servlet:在Servlet中

错了我在做什么。

这是我设置参数的方式......

在JSP页面中使用脚本标签

<script type="text/javascript"> 
      function getHTTPObject() 
      { 
       var httpobject; 
       if(!httpobject && typeof(XMLHttpRequest) != 'undefined') 
        { 
        try{ 
         httpobject=new XMLHttpRequest(); 
        } 
        catch(e){ 
         xmlhttp=false; 
        } 
        } 
       return httpobject; 
      } 


      var httpob=getHTTPObject(); 


      function handleHttpResponse(){ 
       if(httpob.readyState==4){ 
        //alert("sd"); 
        var result=httpob.responseText; 
        alert(result); 
        /* document.write("hi your book is submitted !!!!!"); */ 
       } 
      } 
      function auth(){ 
       var params="isbn="+document.mayurform.isbn.value+"&booktitle="+document.mayurform.booktitle.value+"&author="+document.mayurform.author.value; 
       alert("params sending"+params); 
       httpob.open("POST","addbook",true); 

       httpob.setRequestHeader("Content-type","application/x-www-form-urlencoded"); 
       httpob.setRequestHeader("Content-length",params.length); 
       httpob.setRequestHeader("Connection","close"); 
       /* httpob.setRequestHeader("Content-type","application/x-www-from-urlencoded"); 
       httpob.setRequestHeader("Content-length",params.length); 
       httpob.setRequestHeader("Connection","close"); */ 
       httpob.onreadystatechange=handleHttpResponse; 
       httpob.send(); 
      } 


     </script> 

,这我的形式

.....

<form style="margin: 100px;" name="mayurform"> 
    <table align="center"> 
     <tr> 
     <td align="center">ISBN NO.</td> 
     <td><input align="middle" type="text" size="20" name="id" id="isbn"> 
     </tr> 
     <tr> 
     <td align="center">Book-Title</td> 
     <td><input align="middle" type="text" size="20" name="pwd" id="booktitle"> 
     </td> 
     </tr> 
     <tr> 
     <td align="center">Author</td> 
     <td><input align="middle" type="text" size="20" name="pwd" id="author"> 
     </tr> 
     <tr> 
     <td><input align="middle" type="button" size="20" name="Add-Book" onclick="auth()"> 
     </tr> 
    </table> 

</form> 

回答

0

使用像低于ajax send()发送数据

function auth(){ 
       var params="isbn="+document.mayurform.isbn.value+"&booktitle="+document.mayurform.booktitle.value+"&author="+document.mayurform.author.value; 
       alert("params sending"+params); 
       ....... 
       ... 
       httpob.send(params);//change is here 
      } 

呼叫httpob.send(),传递将被发送(不带“?”字头)的参数。

1

您正在使用ID提取参数,您应该给名称。

例如

字符串isno1 =用request.getParameter( “ISBN”); //这里的ISBN编号

你应该写

<input align="middle" type="text" size="20" name="id" id="isbn"> 



String isno1=request.getParameter("id");-----------^ 

<td><input align="middle" type="text" size="20" name="pwd" id="booktitle"> 


    <td><input align="middle" type="text" size="20" name="pwd" id="author"> 

两个输入端具有相同的**name**请检查

http://www.apl.jhu.edu/~hall/java/Servlet-Tutorial/Servlet-Tutorial-Form-Data.html

+0

好吧检查它比xxxxx – 2013-05-04 11:57:47

+0

@MayurGupta你的表单有很多变化。为所有输入类型选择不同的ID和名称 – 2013-05-04 11:59:47