版权声明:浅弋、璃鱼的原创 https://blog.csdn.net/qq_35709559/article/details/82972800
一.juqery对象:
js中的对象,就是python中的字典:
1定义方法:
定义方法1:
var obj1 = {name:"张三", "age":18, "address":"三里屯"}
定义方法2:
var obj2 = new Object();
obj2.name = "李斯";
obj2.['age'] = 28;
2 获取值:
获取方法1:
var name = obj["name"];
var name2 = obj2.name;
1.3 应用:
以后开发使用比较多的是:数组里边套对象
二、json:
1.什么是json:
json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式对象,目前这种数据格式比较流行,逐渐替换掉了传统的xml数据格式。
json数据对象类似于JavaScript中的对象,但是它的键对应的值里面是没有函数方法的,值可以是普通变量,不支持undefined,值还可以是数组或者json对象。
与JavaScript对象写法不同的是,json对象的属性名称和字符串值需要用双引号引起来,用单引号或者不用引号会导致读取数据错误。
2.把json类型的字符串,转换成对象:
var str1 = '{"name":"张三","age":18,"address":"三里屯"}';
var obj1 = JSON.parse(str1)
3.把对象转换成json类型的字符串
var obj2 = {name: "李四", 'age': 18, "address": "三里屯"};
var str2 = JSON.stringify(obj2)
三、ajax:
1.什么是ajax:
ajax一个前后台配合的技术,它可以让javascript发送http请求,与后台通信,获取数据和信息。ajax技术的原理是实例化xmlhttp对象,使用此对象与后台通信。jquery将它封装成了一个函数$.ajax(),我们可以直接用这个函数来执行ajax请求。
ajax需要在服务器环境下运行。
2.为什么有ajax:
刷新页面一部分(往往伴随着数据库), 就会有异步提交.(ajax)
3.ajax的语法使用:
$.ajax使用方法
常用参数:
- url 请求地址
- type 请求方式,默认是’GET’,常用的还有’POST’
- dataType 设置返回的数据格式,常用的是’json’格式,也可以设置为’html’
- data 设置发送给服务器的数据
- success 设置请求成功后的回调函数
- error 设置请求失败后的回调函数
- async 设置是否异步,默认值是’true’,表示异步
语法:
以前的写法:
$.ajax({
url: '',
type: 'GET',
dataType: 'json',
contentType:'application/json', # 这个很重要
data:{}
success:function(dat){},
error:function(){}
});
新的写法(推荐):
$.ajax({
url: '/change_data',
type: 'GET',
dataType: 'json',
contentType:'application/json',
data:{'code':300268}
})
.done(function(dat) {
alert(dat.name);
})
.fail(function() {
alert('服务器超时,请重试!');
});
$.ajax的简写方式(没有错误处理)
$.ajax按照请求方式可以简写成$.get或者$.post方式
$.get("/change_data", {'code':300268},
function(dat){
alert(dat.name);
});
$.post("/change_data", {'code':300268},
function(dat){
alert(dat.name);
});
4.json的跨域问题(重点了解一下):
4.1 什么是跨域问题:
由于浏览器同源策略,凡是发送请求url的协议、域名、端口三者之间任意一个与当前页面地址不同即为跨域。存在跨域的情况:
- 网络协议不同,如http协议访问https协议。
- 端口不同,如80端口访zhouchengfei问8080端口。
- 域名不同,如 zhouchengfei.top 访问 baidu.com。
- 子域名不同,如 ss.zhouchengfei.top 访问 def.zhouchengfei.top。
- 域名和域名对应ip,如www.a.com访问20.205.28.90。
4.2 如何解决跨域访问:
- porxy代理: 通过nginx代理;
- CORS 【Cross-Origin Resource Sharing】;
- jsonp: 通过动态插入一个script标签;
ajax处理跨域访问使用"jsonp"属性
// ajax异步提交。
$.ajax({
url: 'https://sug.so.360.cn/suggest',
type: 'get',
dataType: 'jsonp',
contentType:'application/json',
data: {'word': $(this).val()},
})
.done(function(dat){
console.log(dat)
})
.fail(function(){
alert('服务器错误!!!')
})
})