2 ya2333 ya2333 于 2013.06.17 11:51 提问

js和servlet交互的问题
 请问下各位大神:
 $("#searchBox").blur(function(){
var keyValue = $(this).val();
if(keyValue !== null){
    document.forms[0].action='ServletDemoTest?keyValue='+decodeURIComponent(keyValue);
    document.forms[0].submit();
}
  });
  上面这段代码里面我在js中提交之后传参给ServletDemoTest这个servlet已经配置好了,提交之后产生的URl为http://localhost:8080/HistoricalPOI/ServletDemoTest?,

就是?后面的参数没有了,即应该还有一个Keyvalue=“”,这样后端就拿不到值了......
这个是get请求,已经放在doGet里面处理了,请问大神们,为什么每次url中?后面的参数就不在了?为什么被截断了?

3个回答

u011282720
u011282720   2013.07.02 18:49

你这个方式很奇怪,既然是get请求,你又何必动态更改forms的action值呢?你直接发起一个url请求不就行了?

jingongbaidu
jingongbaidu   2013.07.03 10:37
       将方法改成ajax方法
          代码:
              $("#searchBox").blur(function(){
            var keyValue = $(this).val();
               var url="ServletDemoTest";
           $.get(url, { keyValue: decodeURIComponent(keyValue) },
             function(data){//serverlet 返回值
             alert("Data Loaded: " + data);
             });
            });
u010030637
u010030637   2013.06.17 19:18

把它改成post方式提交,然后servlet的方法名改成 service(doget 和 dopost 的方式都接受),然后试试看可以不。

Csdn user default icon
上传中...
上传图片
插入图片