请问下各位大神:
$("#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中?后面的参数就不在了?为什么被截断了?
把它改成post方式提交,然后servlet的方法名改成 service(doget 和 dopost 的方式都接受),然后试试看可以不。
你这个方式很奇怪,既然是get请求,你又何必动态更改forms的action值呢?你直接发起一个url请求不就行了?
将方法改成ajax方法
代码:
$("#searchBox").blur(function(){
var keyValue = $(this).val();
var url="ServletDemoTest";
$.get(url, { keyValue: decodeURIComponent(keyValue) },
function(data){//serverlet 返回值
alert("Data Loaded: " + data);
});
});