2012-06-20 13 views
1

我有一個jsp文件檢索參數:validate.jsp-使用.load()

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和名稱的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加載按照我的意圖顯示消息。唯一的問題是,它只有在我不給文本框中的空間時纔有效!例如:如果我輸入名稱=「斯大林」,它可以工作,但對於名稱=「斯大林」和「斯大林Subramanaim」,它不起作用。 result.jsp頁面無法加載!請幫忙..!!

+0

請爲清晰起見添加代碼格式。 – jsalonen

+0

我猜你必須編碼你的參數,然後發送它們作爲空間時,他們通過和編碼轉到%20%我相信 – jeschafe

回答

4

您正在手動構建參數,這可能會導致格式不正確的查詢字符串。您應該使用jQuery的助手$.param來解決這個問題:

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

雅,它的工作!謝謝rfunduk! – kunal18

0

它不工作,因爲你不能有一個網址空格。您需要將空格轉換爲特殊字符(javascript函數escape(url)將會很好)