在某些特定的情况下,直接请求会在url显示参数传值等,基于简单的安全性考虑,可以去掉参数,但是传参问题有出现了,以下提供了一个简单的解决方案
1、a标签直接url跳转改为点击事件
2、调用以下方法httpPostLocationUrl
/**
* 页面跳转
* @param url 请求地址xxx\xxx?xxx=xx&xx=xx
* @param params 可选参数 json对象数据{‘a’:1}
*/
function httpPostLocationUrl (url,params) {
var form = $("<form method='post' style='display:none'></form>");
if(!params)params ={};
if(url.indexOf('?')!=-1){
var paramsStr = url.split("?")[1].split('&');
for (var i = 0 ;i<paramsStr.length;i++){
if(paramsStr[i]&¶msStr[i].indexOf("=")!=-1){
var data = paramsStr[i].split('=');
params[data[0]] = data[1];
}
}
url = url.split("?")[0];
}
form.attr({"action": url});
if(!$.isEmptyObject(params)){
for (arg in params ) {
var input = $("<input type='hidden'>");
input.attr({"name": arg});
input.val(params[arg]);
form.append(input);
}
}
$("html").append(form); //兼容火狐
form.submit();
}