1.Controller 接受Ajax 中文乱码
#JS
var text = encodeURIComponent(text);
#controller
String text = java.net.URLDecoder.decode(text, "utf-8");
2.JS对象传参
JSON.stringify(row).replace(/\"/g, "'")
3.JSON.parse()解析\r\n报错
data = JSON.parse(data.replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\t/g, "\\t"));
4.JS取消浏览器默认按键事件
window.event.keyCode = 0;
event.cancelBubble = true;
return false;
5.监听 iframe url变化
<iframe scrolling="auto" frameborder="0" src="" style="width:100%;height:100%;" οnlοad="loadFrame(this)"></iframe>
function loadFrame(obj){
var url = obj.contentWindow.location.href;
if(url.indexOf("login.jsp")!=-1){
window.location.href = "/login.jsp";
}
}
9.js下载文件
var link = document.createElement('a');
link.setAttribute("download", "");
link.href = "自己的链接";
link.click();
ajax 上传文件
var fordata = new FormData(); # 生成文件对象
fordata.append('name',$('#name').val()); # 添加值
fordata.append('myfiles',$('#myfiles')[0].files[0]); # 添加文件流
for (let i = 0; i < wordfile.length; i++) {
fordata .append('myfiles', wordfile[i]);
}
$.ajax({
url:'/ajaxfiles/', # 路由
type:'post', # 请求的形式
processData:false, # 不指定编码方式(默认指定编码 urlencode)
contentType:false, # 不处理数据(默认处理数据:name=lxx &age=18)
data:fordata, # 传文件的数据
success:function (data) { # 请求成功回调函数
alert(data)
}
})
ajax 提交 Json 格式的数据
var post_data={'name':$("#name").val(),'pwd':$("#pwd").val()};
var post=JSON.stringify(post_data);
$.ajax({
url:'/jsonfile/',
type:'post',
data:post,
contentType:'application/json',
dataType:'json',
success:function (data) {
var ret=JSON.parse(data);
}
})