使用.load()检索参数

时间:2012-06-20 17:28:34

标签: jquery ajax jsp parameters get

我有一个jsp文件:validate.jsp -

var rollNo=document.forms["result_form"]["studentRollno"].value;
var name=document.forms["result_form"]["studentName"].value;

$("#student_result").load("result.jsp?rollNo="+rollNo+"&name="+name);

如您所见,我将两个数据rollNo和name传递给result.jsp

现在在result.jsp中:

String rollNo=request.getParameter("rollNo");
String name=request.getParameter("name");       

out.print("Your roll number is: "+rollNo+"<br>");
out.print("Your name is: "+name);

一切都很好。当我给rollNo = 5和name = something(在validate.jsp的文本框中)时,result.jsp加载显示我想要的消息。唯一的问题是,只要我不在文本框中提供空格,它就有效!例如:如果我输入name =“Stalin”,它可以使用但是对于name =“Stalin”和“Stalin Subramanaim”,它不起作用。 result.jsp页面没有加载!请帮忙.. !!

2 个答案:

答案 0 :(得分:4)

您正在手动构建参数,这可能导致查询字符串格式不正确。您应该使用jQuery帮助器$.param来解决这个问题:

el.load( "result.jsp?" + $.param( { rollNo: rollNo, name: name } ) );

答案 1 :(得分:0)

它不起作用,因为你不能在网址中有空格。你需要将空格转换为特殊字符(javascript函数escape(url)会很好)