web前端技术学习
$.ajax()
ajax数据请求方式,交互,跨域等相关问题
一、请求方式
1.$.ajax()
$.ajax({
type:"get",//请求方式“get”和“post”
url:"http://192.168.5.109/changda/public/api/news/getNews",//访问数据库地址,绝对地址,相对地址都行,前提都要是json类型的文件
async:true,
dataType: 'json',
data:{
page_size:3//传参数
},
success:function(resu){
//获取成功数据,回调函数
console.log(resu);//控制台输出获取的数据参数
var list= resu.result;//遍历
var st='';
for (i=0;i<list.length;i++) {
//采用字符串拼接,渲染数据到页面;也可使用template模板,sea.js等渲染,后续会写出相关代码
st+='<div class="col-md-4 low col-xs-12">'
st+='<img src="'+list[i].main_img+'">'
st+='<h>'+list[i].title+'</h>'
st+='<p>'+list[i].content_text+'</p></div>',
}
$(".gg").append(st)//拼接的字符串添加到页面所需数据的地方
},
error:function(){
//获取数据失败回调函数
alert("请求错误!!")
}
});
2.$.getJSON()
$.getJSON(){"http://1921.254.24.32/urlasd-cbt",data:{},funcution(){
//数据获取成功的回调函数......和上面大致一样
}
}
二.跨域问题
1.处理跨域的方法1 -- 代理
比如在北京(www.beijing.com/sever.php)和上海(www.shanghai.com/sever.php)各有一个服务器,北京的后端(www.beijing.com/sever.php)直接访问上海的服务,然后把获取的响应值返回给前端。也就是北京的服务在后台做了一个代理,前端只需要访问北京的服务器也就相当与访问了上海的服务器。这种代理属于后台的技术,所以不展开叙述。
2.处理跨域的方法2 -- JSONP
假设在http://www.aaa.com/index.php这个页面中向http://www.bbb.com/getinfo.php提交GET请求,那么我们在www.aaa.com页面中添加如下代码:
var eleScript= document.createElement("script"); //创建一个script元素
eleScript.type = "text/javascript"; //声明类型、document.getElementsByTagName("HEAD")[0].appendChild(eleScript); //在页面中添加新创建的script元素当GET请求从http://www.bbb.com/getinfo.php返回时,可以返回一段JavaScript代码,这段代码会自动执行,可以用来负责调用http://www.aaa.com/index.php页面中的一个callback函数。看下面一个列子:
在www.aaa.com页面中:
<script>
function jsonp( json ){ document.write( json.name ); //输出周星驰}<script>在www.bbb.com页面中:
jsonp({ "name":"周星驰","age":45 });
也就是在www.aaa.com页面中声明,在www.bbb.com页面中调用。但是JSONP只支持 “GET” 请求,但不支持 “POST” 请求。
3.处理跨域的方法2 -- XHR2(推荐方法)
“XHR2” 全称 “XMLHttpRequest Level2” 是HTML5提供的方法,对跨域访问提供了很好的支持,并且还有一些新的功能。
* IE10一下的版本都不支持
* 只需要在服务器端头部加上下面两句代码:
header( "Access-Control-Allow-Origin:*" );
header( "Access-Control-Allow-Methods:POST,GET" );
关于 “XHR2” 的更多信息大家可以查看官方文档,在这里就不详细叙述了,总之这是这个很好用的方法。
以上知识本人部分认识,希望能给你带来用处,如描述错误,也请多多指点指点
web前端技术学习的更多相关文章
- 绝版珍珍藏:web前端技术学习指南
绝版珍珍藏:web前端技术学习指南 优秀的Web前端开发工程师要在知识体系上既要有广度和深度!应该具备快速学习能力. 前端开发工程师不仅要掌握基本的Web前端开发技术,网站性能优化.SEO和服务器端的 ...
- 史上最全的web前端系统学习教程!
这份资料整理花了近7天,如果感觉有用,可以分享给更有需要的人. 在看接下的介绍前,我先说一下整理这份资料的初衷: 我的初衷是想帮助在这个行业发展的朋友和童鞋们,在论坛博客等地方少花些时间找资料,把有限 ...
- web前端开发学习内容
应该 具备的 知识技能 :懂web标准,熟练手写 xhtml css3 并符合 符合w3c标准 代码能 兼容主流浏览器.ie6.7.8.9 ff 等. ...
- web前端的学习误区
web前端的学习误区 网页制作是计算机专业同学在大学期间都会接触到的一门课程,而学习网页制作所用的第一个集成开发环境(IDE)想必大多是Dreamweaver,这种所见即所得的“吊炸天”IDE为我们 ...
- 最受欢迎web前端技术总结
Web前端技术发展非常快,主流技术的进步.想想刚毕业那会用asp技术.目前,该网站已经非常少见主流应用. 后来的后来J2EE框架.然后SpringMVC声望,然而,最近的各种js框架广泛传播,Html ...
- web前端开发学习路线图
Web前端是一个入行门槛较低的开发技术,但更是近几年热门的职业,web前端不仅薪资高发展前景好,是很多年轻人向往的一个职业,想学习web前端,那么你得找到好的学习方法,以下就给大家分享一份适合新手小白 ...
- 20151028整理罗列某种开发所包括对技术(技术栈),“较为全面”地表述各种技术大系的图表:系统开发技术栈图、Web前端技术栈图、数据库技术栈图、.NET技术栈图
———————————— 我的软件开发生涯 (10年开发经验总结和爆栈人生) 爆栈人生 现在流行说全栈.每种开发都有其相关的技术.您是否觉得难以罗列某种开发所包括对技术(技术栈)呢? 您是否想过: ...
- 现代前端技术解析:Web前端技术基础
最近几年,越来越多的人投入到前端大军中:时至至今,前端工程师的数量仍然不能满足企业的发展需求:与此同时,互联网应用场景的复杂化提高了对前端工程师能力的要求,一部分初期前端工程师并不能胜任企业的工作 ...
- Web前端培训学习心得
web前端工程师技术日趋成熟,越来越多的行业巨头正不断向web前端工程师示好,在未来几年,web前端将会以更多的形式渗透到我们生活中的方方面面,因此越来越多的从业者开始关注web前端开发行业,今天小编 ...
随机推荐
- primer3批量设计引物
核心程序调用 Primer3_core,基本用法: primer3_core [ -format_output ] [ -default_version=1|-default_version=2 ] ...
- 杂记:防火墙、企业微信登陆、RestFrameWork
192.168.0.250重启后查看端口正常,外部ping得通,但是访问192.168.0.250进不了Nginx欢迎界面 netstat -tlunp 关闭了防火墙就行了,原来80端口都要防火墙. ...
- UML序列图参考资料
UML各个图的说明:http://www.uml.org.cn/oobject/201509015.asp?artid=16901 UML类图的说明:https://www.cnblogs.com/a ...
- python 近义词库包 synonyms 的使用
最近接触到nlp的一些东西,需要找出中文词语的近义词,也接触到了一个synonyms 的库, 分词,去停用词,word2vector 等 一些列nlp 的操作,还可以输出中文词语的近义词 https ...
- Linux 下各文件夹的含义
/bin 该目录中存放Linux的常用命令./boot 该目录默认下存放的是Linux的启动文件和内核./cdrom 该目录在刚安装系统时是空的,你可以将光驱文件系统挂在这个目录下./dev 该目录包 ...
- HCharts随笔之简单入门
此处可以对比我的另一个Echars简单入门 直接上源码 <!DOCTYPE html> <html> <head> <meta http-equiv=&quo ...
- list map to map
Map<String, Object> merged = lists.stream() .map(Map::entrySet) .flatMap(Set::stream) .collect ...
- JS-圣杯模式
var inherit = (function(){ var F = function(){}; return function(Target,Origin){ F.prototype = Origi ...
- number类型精度分析
numbe类型的可设置的取值范围: number无限定 number(6)是6位整数 number(6,2)是4位整数,精确到两位小数,最多6位.四舍五入 number(6,-2)是6位整数,精确到百 ...
- AVR 嵌入式单片机芯片的中断系统介绍
body, table{font-family: 微软雅黑; font-size: 13.5pt} table{border-collapse: collapse; border: solid gra ...