欢迎使用CSDN-markdown编辑器
来源:互联网 发布:伊娃格林知乎 编辑:程序博客网 时间:2024/05/16 14:01
1.解析json
eg:var jsondata=’{“staff”:[{“name”:”zhang”,”age”:11,”sex”:”男”}]}’;
a)eval(‘(‘+jsondata+’)’);
b)JSON.parse(jsondata);
return {
“staff”:[
{
“name”:”zhang”,
“age”:11,
“sex”:”男”
}
]
}
两者的区别:
eval 将字符串转换为javascript语句进行执行
1:可能会出现其它问题
2:不安全 可能执行恶意的程序(不可控)
3:不能自动解析当前的语句是否是正确的json格式的语句
2.jQuery.ajax([setting])
eg:jQuery.ajax({
type:’post’,//请求方法
url:’http://www.baidu.com‘,//请求地址
data:{//请求数据
serWord:’查找’,
},
dataType:’json’,//服务器返回的数据类型
success:function(){},//成功回调
erro:function(){},//失败回调
});
jquery 封装的ajax请求
默认添加请求头部 “Content-Type”: “application/x-www-form-urlencoded; charset=UTF-8”
3.跨域问题:
http:// www . baidu.com : 8080 / demo.html
协议 子域名 主域名 端口号 请求资源地址
只要协议/子域名/主域名/端口号有一个不相同时 都算做不同域
不同域之间相互请求资源 就叫”跨域”
跨域的原因:
JavaScript出于安全方面的考虑 不与许跨域调用其他页面的对象(JavaScript同源策略的限制)
顾名思义:a.com下的js无法操作b.com下的对象
4.解决跨域
1).后台服务器进行代理操作
eg:网站在不同的服务器上进行部署 一个服务器a请求另外一个服务器b让后端将数据返回给前端就可以了 这样和前端请求a服务器和请求b服务器的效果就是一样的了
2).jsonp(局限性:不支持post请求)
前端的处理:
eg:jQuery.ajax({
type:’get’,//请求方法
url:’http://www.baidu.com‘,//请求地址
data:{//请求数据
serWord:’查找’,
},
dataType:’jsonp’,//服务器返回的数据类型
jsonp:’callback’,
success:function(){},//成功回调
erro:function(){},//失败回调
});
后端的处理:
3)xhr2(局限性:不支持IE10以下) html5新功能(CORS 跨域)
前端:
eg:jQuery.ajax({
type:’get’,//请求方法
url:’http://www.baidu.com‘,//请求地址
data:{//请求数据
serWord:’查找’,
},
dataType:’json’,//服务器返回的数据类型
success:function(){},//成功回调
erro:function(){},//失败回调
});
服务端:(设置相应头部)
header(“Access-Control-Allow-Origin:*”);
header(“Access-Control-Allow-Methods:POST,GET”);
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 图像的手绘效果
- 【CJOJ2482】【POI2000】促销活动
- 我是数据分析师(三):跟Quick BI纠缠的日子里不得不说的那些事
- 矩阵快速幂
- Source Insight基本使用和快捷键
- 欢迎使用CSDN-markdown编辑器
- Oracle数据库中查询年龄
- ImportError: No module named _caffe
- c++基础:指针_引用_const
- SequoiaDB x Spark 新主流架构引领企业级应用
- 写给移动开发者的 React Native 指南
- KEIL安装
- 悬浮按钮
- tolua++快速入门