我是第一次使用来自jscript ajax call的jquery ajax。我试图将两个值从jsp传递给jsp.Here是我试过的
JspPage1.jsp
$(function(){
var val1="Some value1";
var val2="Some value2";
$.ajax({url:"JspPage.jsp",
type:'post',
data: '{"val1":"' + val1 + '","val2":"' + val2 + '"}',
success:function(result){
//here i do nothing
}});
});
JspPage.jsp
<%
String val1=request.getParameter("val1");
String val2=request.getParameter("val2");
System.out.println("val1 is:"+val1);
System.out.println("val2 is:"+val2);
%>
但是我在 JspPage.jsp 中获得了val1和val2变量的Null
值。
我哪里错了?
答案 0 :(得分:1)
$.ajax
对您传递的数据进行字符串化。它不应该收到已经是JSON的东西。
简单地做
$.ajax({url:"JspPage.jsp",
type:'post',
data: {val1:val1, val2:val2},
success:function(result){
请注意,您永远不应该通过连接字符串来构建JSON,因为它不会执行必要的转义(并且很繁琐)。
答案 1 :(得分:1)
我认为你在参数上有问题可以试试这个:
$(function(){
var val1="Some value1";
var val2="Some value2";
$.ajax({
url: "JspPage.jsp",
type:"post",
data: { valone: val1, valtwo: val2 },
success:function(result){
alert(result) ;
}
});
});
并在服务器端尝试:
String val1 = request.getParameter(&#34; valone&#34;); String val2 = request.getParameter(&#34; valtwo&#34;);