title | date | tags | categories | ||
---|---|---|---|---|---|
JavaScript |
2018-11-21 02:56:52 -0800 |
|
|
💠
💠 2024-07-07 18:00:42
- 字符串转码:
function handlerGet(url, role, success, fail) {
var request = $.ajax({
method: 'GET',
url : 'xxx'+url
});
request.done(success);
request.fail(fail);
}
function testRole() {
handlerGet('/world', 'student',
function (data) {
layer.msg('获取成功');
}, function (data) {
layer.msg('身份认证已过期, 请重新登录');
})
}
-
直接点引用属性或者a['b']的方式,
- 迭代集合:自带foreach循环
data.forEach(function(value){})
- 迭代集合:自带foreach循环
-
但是有时候不能使用,会undefined,eval('('+data+')')解析后才能用
- 原因在于Response Headers 的
Content-Type:application/json;charset=UTF-8
如果回应的类型是 text/plain 就需要使用 eval('('+data+')')才能用 - 如果设置成JSON就可以直接点引用和循环迭代, 并且不需要强制的JSON规范, 值为数字时不加双引号也是正常解析的
- 原因在于Response Headers 的
var array = {
"a": "abc",
"b": [1, 2, 3, 4, 5, 6],
"c": 3,
"d": {
"name": "james",
"age": 28
},
"e": null,
"f": true
};
//遍历array方式1
for (var x in array) {
if (typeof array[x] == 'object' && array[x] != null) {
for (var y in array[x]) {
console.log(">>key = " + y + " value = " + array[x][y]);
}
} else {
console.log("key = " + x + " value = " + array[x]); // 非array object
}
}
- Blog:关于Input的输入校验
数字,字母汉字等限制
function get(url, handle) {
let httpRequest = new XMLHttpRequest();
httpRequest.open('GET', url, true);
httpRequest.send();
/**
* 获取数据后的处理程序
*/
httpRequest.onreadystatechange = function () {
if (httpRequest.readyState === 4 && httpRequest.status === 200) {
handle(httpRequest)
}
};
}
function post(url, data, handle) {
let xhr = new XMLHttpRequest();
//使用HTTP POST请求与服务器交互数据
xhr.open("POST", url, true);
//设置发送数据的请求格式
xhr.setRequestHeader('content-type', 'application/json');
xhr.onreadystatechange = function () {
if (xhr.readyState === 4) {
handle(xhr.responseText)
}
}
//将用户输入值序列化成字符串
xhr.send(JSON.stringify(data));
}
- 事件绑定
$('#Button').on('click', function(){})
- 在HTML的DOM上绑定数据:设置
data-*
属性 然后jq拿到元素直接调用$(this).data('id')
拿到值就可以避免函数传值
原生方式异步提交Form
$("#set-form").submit(function(e){
e.preventDefault();
console.log('prepare submit')
});
官网 | 做图表展示很简单