1、什么是JSON:json是存储和交换文本信息的语法 json是轻量级的文本数据交换格式 json比XML更小、更快、更容易解析
2、json的语法:
var josnStr = { "name": "张三", "age": 22, "sex": "男", "exceting": ["学习", "游戏", "睡觉"] }
console.log(josnStr.name) //张三
console.log(josnStr["age"]) //【】里面必须加引号 22
用for in 或者forEach 把 josnStr.exceting里的元素打印到页面中
// for in 遍历
for (var key in josnStr.exceting) {
console.log(key) //key是索引
document.write(josnStr.exceting[key])
}
// forEach(value,index) value值 index索引
josnStr.exceting.forEach(function (value, index) {
document.write(value)
})
3、json的使用方法
json对象转换为json字符串 JSON.stringify()
json字符串转为json对象 JSON.parse()
var json = {'name':'zs','age':18};
console.log(json.name)
// JSON.stringify()
console.log(JSON.stringify(json))
// JSON.parse()
var json1 = '{"name":"李四","sex":"男"}';
console.log(JSON.parse(json1))
4、jsonp
定义:是json 的一种"使用模式",可以让网页从别的域名(网站)那获取资料,即跨域读取数据。
$(function () {
$.ajax({
url: 'https://www.baidu.com?callback=fn',
type: 'get',
dataType: 'jsonp', //dataType
success: function (res) {
console.log(res) //No 'Access-Control-Allow-Origin' header is present on the requested resource. 出现这个就是跨域问题
}
})
})
// jsonp的实现原理 动态创建script标签,解决跨域问题
var url = 'https://www.baidu.com?callback=fn';
var script = document.createElement('script');
script.setAttribute('src', url)
document.getElementsByTagName('head')[0].appendChild(script);
function fn(name, age) {
}
什么是跨域? 只要端口号,域名,协议有一个不一样就是跨域
结局跨域: 1.jsonp 动态创建script 标签,利用src属性可以完成
2.通过后台设置请求头
3.代理方式