将加密字符串作为 jsp 参数从一个 jsp 传递给另一个 jsp
Pass Encrypted String as a jsp parameter from one jsp to other
我在将加密字符串作为 jsp 参数发送给其他 jsp 时遇到问题。它有空格,/,+字母数字字符
这是我的加密字符串的样子
var dataString="lREsIY9bcUFi9hETEJijk2yePcXAymOA9v+fW1MpTjJjZtuQJmAfyPzLJWjXM+9Qn6TC5dRBrU90KV/S9wmHw5Qpxo2DYmdjQtZlTwZWDoB1O+izeiBU90ZWJELSExFyHMSNVS5P/dnLw/+dp4O";
我在 firbug 的控制台中收到此错误:
Error in processing! [object Object]
如果我传递一个普通的字符串,一切正常,我被重定向到 jsp 但不是上面的字符串。
这是一个代码片段,passOnData 是我在 link:
中作为参数传递的变量
if(passOnData!=""&&passOnData!=null){
$.ajax({
type: "POST",
dataType:"text",
contentType: "text/xml",
url: "http://localhost:8000/secure/transaction.jsp?UserId=ABC&UserNo=110033&data="+encodeURIComponent(passOnData),
success: function(x) {
},
error: function( textStatus) {
console.log(' Error in processing! '+textStatus);
}
});
}
我的问题有解决办法吗?请帮忙。
Urlencoding 是您需要的魔法。 + 将转换为 space (%20) 否则会弄乱您收到的数据。
您可以将 +
替换为 %2b
或使用
进行适当的编码
passOnData = URLEncoder.encode(passOnData);
发送前。
有 web-safe base64 实现不使用这些字符。
你必须转义特殊字符。使用Use URLEncoder.encode()
方法
我在将加密字符串作为 jsp 参数发送给其他 jsp 时遇到问题。它有空格,/,+字母数字字符
这是我的加密字符串的样子
var dataString="lREsIY9bcUFi9hETEJijk2yePcXAymOA9v+fW1MpTjJjZtuQJmAfyPzLJWjXM+9Qn6TC5dRBrU90KV/S9wmHw5Qpxo2DYmdjQtZlTwZWDoB1O+izeiBU90ZWJELSExFyHMSNVS5P/dnLw/+dp4O";
我在 firbug 的控制台中收到此错误:
Error in processing! [object Object]
如果我传递一个普通的字符串,一切正常,我被重定向到 jsp 但不是上面的字符串。
这是一个代码片段,passOnData 是我在 link:
中作为参数传递的变量 if(passOnData!=""&&passOnData!=null){
$.ajax({
type: "POST",
dataType:"text",
contentType: "text/xml",
url: "http://localhost:8000/secure/transaction.jsp?UserId=ABC&UserNo=110033&data="+encodeURIComponent(passOnData),
success: function(x) {
},
error: function( textStatus) {
console.log(' Error in processing! '+textStatus);
}
});
}
我的问题有解决办法吗?请帮忙。
Urlencoding 是您需要的魔法。 + 将转换为 space (%20) 否则会弄乱您收到的数据。
您可以将 +
替换为 %2b
或使用
passOnData = URLEncoder.encode(passOnData);
发送前。
有 web-safe base64 实现不使用这些字符。
你必须转义特殊字符。使用Use URLEncoder.encode()
方法