JavaScript基础知识
数组Array
方法 | 描述 | 注释 |
---|---|---|
splice() | 向数组添加项目,不返回;从数组删除项目,并返回删除的项目 | 会改变原始数组;当有item元素时,splice将在index位置之前添加item元素(无论是正数还是负数) |
unshift() | 单元格 | 单元格 |
push() | 单元格 | 单元格 |
splice()方法
- 定义和用法 splice() 方法向数组添加项目,返回空数组;从数组删除项目,并返回删除的项目。 注释:splice() 方法会改变原始数组。当有item元素时,splice将在index位置之前(左边)添加item元素(无论index是正数、负数还是0)
- 语法 array.splice(index, howmany, item1, ....., itemX)
- 参数值
参数 必需 描述 index 是 整数,指定在什么位置添加/删除项目,使用负值指定从数组末尾开始的位置。 howmany 否 要删除的项目数。如果设置为 0,则不会删除任何项目。 item1, ..., itemX 否 要添加到数组中的新项目。 - 返回值 新数组,包含删除的项目(如果有)。
unshift()方法
- 定义和用法 unshift() 方法将新项添加到数组的开头,并返回新的长度。 注释:unshift() 方法会改变数组的长度。
- 语法 array.unshift(item1, item2, ..., itemX)
- 参数值
参数 必需 描述 item1, item2, ..., itemX 是 要添加到数组开头的项 - 返回值 数值,表示数组的新长度。
Ajax 请求传递data数据的三种格式
- 标准参数模式
- JSON对象格式
- JSON字符串格式
标准参数格式
$.ajax({
type:"post",
url:"/test",
data:"tenantCode=dongyun&sign=18",
dataType:"json",
success: function(data){
console.log(data);
}
})
JSON对象格式
$.ajax({
type:"post",
url:"/test",
data:{"tenantCode":"dongyun","sign":"18"},
dataType:"json",
success: function(data){
console.log(data);
}
})
JSON字符串格式
$.ajax({
type:"post",
url:"/test",
data:JSON.stringify({"tenantCode":"dongyun","sign":"18"}),
contentType:"json/application",
dataType:"json",
success: function(data){
console.log(data);
}
})
提示
- JSON字符串格式中data写成
'{"tenantCode":"dongyun","sign":"18"}'
也行,这里需要特别注意,属性名必须用双引号包裹,而且字符串整体必须用单引号包裹双引号,否则会报错! - 错误示例:
- var book = '{tenantCode:"dongyun",sign:"18"}'; // 属性名没有用双引号包裹
- var book = "{'tenantCode':'dongyun','sign':'18'}"; // 应内双外单
总结
- get请求用1、2类型传递参数
- post请求用1、2、3类型传递参数
ajax属性传值方式主要写法总结
- 属性加引号的直接写法
data: {"loginpwd": loginpwd}
- 属性不加引号的直接写法
data: {loginpwd:loginpwd}
- 拼接数据写法,这种方式不需要加{}
data: 'loginpwd='+loginpwd+'&loginname='+loginname
- 序列化方式,这种方式不需要加{}
data: $("#loginpwd").serialize()
- 组装数据,然后复制给一个变量,在用JSON.stringify(obj)把obj转成JSON字符串,或者直接写JSON字符串
var pwd = [{id:s01,name:001}]; //数组格式
$.ajax({
type: "post",
url: "http://localhost:8080/toPwd",
data: {
pwd: JSON.stringify(pwd)//转化为json字符串
},
contentType:"json/application",
success: function (datas) {
$("#msg").html(datas.msg);
}
});
ajax请求中contentType与dataType区别
contentType
: 告诉服务器,我要发什么类型的数据dataType
:告诉服务器,我要想什么类型的数据,如果没有指定,那么会自动推断是返回XML
,还是JSON
,还是script
,还是String
。
- 如果是一个restful接口(json格式),一般将Content-Type设置为application/json; charset=UTF-8;
- 如果是文件上传,一般Content-Type设置为multipart/form-data
- 如果普通表单提交,一般Content-Type设置为application/x-www-form-urlencoded
response的Content-Type设置建议
- 一般情况下不需要显示设置;
- 如果是文件导出,Content-Type 设置为 multipart/form-data,并且添加一个Content-Disposition设置为attachment;fileName=文件.后缀。
- 注:Content-Disposition是Content-Type的扩展,告诉浏览器弹窗下载框,而不是直接在浏览器里展示文件。因为一般浏览器对于它能够处理的文件类型,如txt,pdf 等,它都是直接打开展示,而不是弹窗下载框。