通过ajax在servlet中发送多个参数

时间:2013-04-11 06:53:14

标签: java ajax

 function getXmlHttpRequestObject()
            {
                var xmlHttp = false;
                if (window.XMLHttpRequest)
                {
                    return new XMLHttpRequest(); //To support the browsers IE7+, Firefox, Chrome, Opera, Safari
                }
                else if(window.ActiveXObject)
                {
                    return new ActiveXObject("Microsoft.XMLHTTP"); // For the browsers IE6, IE5 
                }
                else
                {
                    alert("Error due to old verion of browser upgrade your browser");
                }
            }

            var xmlhttp = new getXmlHttpRequestObject(); //xmlhttp holds the ajax object

            function servletPost() {
                if(xmlhttp) { 
                   var txt = document.getElementById("txtname");
                    var txtname=document.URL;
                    xmlhttp.open("POST","ServletPost",true);
                    xmlhttp.onreadystatechange = handleServletPost;
                    xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
                    xmlhttp.send("txtname=" + txtname); 

                }
            }

            function handleServletPost() {
                if (xmlhttp.readyState == 4) {
                    if(xmlhttp.status == 200) {
                        document.getElementById("message").innerHTML=xmlhttp.responseText; 
                    }
                    else {
                        alert("Ajax calling error");
                    }
                }
            }

这是我的代码函数servletPost()将数据发送到servlet,但只有txtname没有其他值转到servlet我该如何解决呢请帮助

2 个答案:

答案 0 :(得分:1)

在变量中添加所有参数并发送。离。

var params = "txtname=" + txtname + "&name=user";
xmlhttp.send("txtname=" + txtname);

答案 1 :(得分:0)

在您的代码中,我只看到您只发送一个参数txtname。

如果您想发送更多参数,则添加“&”介于两者之间。

params = "txtname=" + txtname + "&txt=" + txt;