我遇到了将加密字符串作为jsp参数发送到其他jsp的问题。它有空格,/,+字母数字字符
这是我的加密字符串的样子
var dataString="lREsIY9bcUFi9hETEJijk2yePcXAymOA9v+fW1MpTjJjZtuQJmAfyPzLJWjXM+9Qn6TC5dRBrU90KV/S9wmHw5Qpxo2DYmdjQtZlTwZWDoB1O+izeiBU90ZWJELSExFyHMSNVS5P/dnLw/+dp4O";
我在firbug的控制台中收到了这个错误:
处理错误! [object Object]
如果我传递一个普通的字符串,一切正常,我被重定向到jsp但不是上面的字符串。
以下是代码段, passOnData 是我在链接中作为参数传递的变量:
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);
}
});
}
我的问题有解决办法吗?请帮助。
答案 0 :(得分:3)
Urlencoding是您需要的魔力。 +将转换为空格(%20),否则会使您收到的数据变得混乱。
您可以将+
替换为%2b
或使用
passOnData = URLEncoder.encode(passOnData);
发送前。
网络安全的base64实现不会使用这些字符。
答案 1 :(得分:0)
你必须逃避特殊字符。使用Error in (function (classes, fdef, mtable) : unable to find an inherited method for function ‘fit.gstatModel’ for signature ‘"data.frame", "formula", "RasterLayer"’
方法