ajax:Asynchronous Javascript And XML,但是现在都是把XML(DOM)换成json!!! 是ajax救活了JS!!!
XMLHttpRequest对象很重要!!!
open是准备
send是发送,当发送到controller时,controller不要跳转页面(不是很能理解???)
分清哪些是属性哪些是方法!
js判断假只有几种 0 false NAN 空字符串 null undefined
if(XMLHttpRequest){ //如果存在的话就是true
}else{
}
一些常用的判断技巧:
if(...){
..}else{
...}
可以换成:
try(){
}catch{
}
这个技巧挺好的
============
function getTime(){
}
<body>
<button οnclick="getTime()"> js代码onclick得有()
</body>
===========================
错误一:
前台调试报405,显示请求的路径是乱码。
2 list:153:5
XML 解析错误:找不到根元素
位置:http://localhost:8082/mdmmodels/%E5%AF%BC%E5%87%BA
行 1,列 1:
而我的ajax请求如下:为啥呢???
<button class="layui-btn" onclick="'导出','mdmModelsTable','/mdmmodels/exportExcel');>
导出
</button>
</body>
<script type="text/javascript">
/**
* Nnay-0510pm
*/
function exportExcel(url) {
//获取输入的值
var inputValue = $("#getValue").val();
console.log(inputValue);
$.ajax({
type: "post",
url: url,
contentType: "application/json",
data: {str:inputValue},
async: false,
dataType: "json",
success: function (R) {
if (R.code === 0) { //全等
Msg.success('操作成功');
} else {
Msg.error(R.msg);
}
},
error: function () {
Msg.error("系统繁忙");
}
});
}
</script>
</html>
最后改成这样
<button class="layui-btn layui-btn-delete" onclick="exportExcel();">
导出
</button>
url: "/mdmmodels/exportExcel",
成功了!!!
===11
补充:
1、监听事件写在send()之前!!!
2、因为js判断true和false比较特殊,而且responseText将响应信息作为字符串返回所以在进行if(xhr.resposeText==true){}这是有问题的应改成
if(xhr.resposeText=="true"){}
3、后台代码:resp.getWriter().println(false);//表示是:true并且加了一个换行
改成resp.getWriter().print(false);
==============
如果我的前台页面是需要传多个参数,那就封装成一个对象,如:
var obj={};
obj.name=$('#name').val();
obj.age=$('#age').val();
obj.address=$('#address').val();
var jsonobj = JSON.strighy(obj);
在ajax中吧jsonobj发送过去!