前端复习-02-ajax原生以及jq和跨域方面的应用。
ajax这块我以前一直都是用现成的jq封装好的东西,而且并没有深入浅出的研究过,也没有使用过原生形式的实现。包括了解jsonp和跨域的相关概念但是依然没有实现过,其中有一个重要的原因我认为是我当时并不了解后端的一些操作模式,也并没有掌握任何一门后端的脚本语言,导致没有办法灵活的测试。不过现在完全不存在这个完题了。。我已经深入浅出的掌握了python。。。也有一个 现成的django环境 可以好好测试一下。
从原生部分谈起:
var searchButton = document.getElementById('search');
searchButton.addEventListener('click',function(){
//发送AJAX请求并且处理
var request;
url = 'service.php'
request = new XMLHttpRequest()
request.open('get',url);
request.send();
},false);
这是针对现代浏览器的一个粗处理。看上去也非常清晰,就是获取一个网页上现成的domNode 然后对该domNode触发一个点击事件,从而使用一个ajax的操作。
这里插入一个 javascript操作json的 一点知识,帮助自己也好好复习一下。因为它们真是无处不在。。太常用了,如果正要使用却忘记了。。那不是很尴尬。。
因为自己玩太长时间python的关系 js的很多api都忘记了。
JSON.parse()
用于将一个json字符串解析成json对象。
JSON.stringify()
用于将一个json对象解析成字符串。
接下来是使用最最最最常用的第三方js库 jquery库来实现ajax
首先来介绍一下jq里面最底层方法jquery.ajax([settings])
type:类型,“post”或"get",默认为"get方法"
url:发送请求的地址
data:是一个对象,连同情趣发送到服务器的数据
dataType:预期服务器返回的数据类型,如果不指定,jquery将自动根据http包mime信息来判断,一般我们采用json格式,可以设置为“json”。
success:是一个方法,请求成功后的回调函数。传入返回之后的数据,以及包含成功码的字符串
error:是一个方法,请求失败时调用这个函数。传入XMLHttpRequest对象。
然后下面是一个 使用jq里面最底层的.ajax()方法的例子。这个方法应该是比较灵活的了
$(document).ready(function(){
$("#search").click(function(){
$.ajax({
type:'GET',
url:"service.php",
dataType:"json",
success:function(data){
},
error:function(){
alert('我失败了');
}
});
});
});
因为我以前原生js没有学习好的原因,所以我当时一直无法理解这个方法里面也就是调用.ajax()这个方法的时候 里面使用 面向对象的编程的方式 以key-value的形式 ','隔开的形式来写 随着现在更深入的学习js之后 终于理解了 是有这种书写方式的。 所以说 使用第三方库虽然会让操作和使用变得方便,也会使得初学者陷入虽然会实现使用,却不知道为什么可以这么写的困局之中。。
再贴一个使用post方法带参数传递的例子
$(document).ready(function(){
$("#search").click(function(){
$.ajax({
type:'POST',
url:"service.php",
dataType:"json",
data:{xxx:'hehe',yyy:'heiheihei'},
success:function(data){
},
error:function(){
alert('我失败了');
}
});
});
});
这样就可以了。。 跨域我另外开一个文章来写。。自己写后端来实现一下 几种跨域的方法。
前端复习-02-ajax原生以及jq和跨域方面的应用。的更多相关文章
- Ajax请求WCF服务以及跨域的问题解决
Ajax请求WCF服务以及跨域的问题解决 这两天准备重构一下项目,准备用纯html+js做前台,然后通过ajax+WCF的方式来传递数据,所以就先研究了一下ajax访问的wcf的问题,还想到还折腾了一 ...
- AJAX(XMLHttpRequest)进行跨域请求方法详解
AJAX(XMLHttpRequest)进行跨域请求方法详解(三) 2010年01月11日 08:48:00 阅读数:24213 注意:以下代码请在Firefox 3.5.Chrome 3.0.Saf ...
- 用原生js来处理跨域的数据(jsonp)
说明总结: 1.ajax和jsonp其实本质上是不同的东西.ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加<script>标签来调用服务器提 ...
- 小结ajax中的同源和跨域 jsonp和cors
网上的同源和跨域一般都比较复杂,最近也稍微总结了一下: 所谓同源,是浏览器的一种安全机制,作用在于保护网页数据的安全,不同源的网页之间不允许cookie dom ajax等行为 同源的条件:1.协议相 ...
- JavaScript系列----AJAX机制详解以及跨域通信
1.Ajax 1.1.Ajax简介 Ajax简介这一部分我们主要是谈一下ajax的起源,ajax是什么?因为这些是跟技术无关的.所以,大多细节都是一笔带过. Ajax的起源? Ajax一词源于2005 ...
- ajax工作原理及jsonp跨域详解
一.Ajax简介 ajax = 异步 JavaScript 和 XML. ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术.我们知道,传统的网页(不使用ajax)如果需要更新内容, ...
- 前端页面调用Spring boot接口发生的跨域问题
最近要重构一个基于spring boot的后端API服务,需要再本地测试.在本地测试时,运行在本地的前端页面发送一个ajax请求访问后端API,然后浏览器报错blocked CORS policy. ...
- 从前端和后端两个角度分析jsonp跨域访问(完整实例)
一.什么是跨域访问 举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容.如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题.你可以理解为两个域名之间不能跨过域名来发送请求或者请 ...
- ajax异步请求/同源策略/跨域传值
基本概念 Ajax 全称是异步的 JavaScript 和 XML . 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不重新加载整个网页的情况下,对网页的某部分进 ...
随机推荐
- SQL Server Object Explorer in VS
菜单栏View-->SQL Server Object Explorer 默认有几个连接,可以根据需要自己再另外添加 比如添加127.0.0.1 建立连接之后,剩下的操作和sql server中 ...
- 《OD大数据实战》驴妈妈旅游网大型离线数据电商分析平台
一.环境搭建 1. <OD大数据实战>Hadoop伪分布式环境搭建 2. <OD大数据实战>Hive环境搭建 3. <OD大数据实战>Sqoop入门实例 4. &l ...
- Gliffy Diagrams 好用的流程图工具
很好用!加上百度脑图!good!
- 使用Jenkins构建持续集成环境
简介 Jenkins是一个开源的持续集成工具,提供了数百种插件供用户选择,能够完成整套持续集成环境的构建. 它具有如下的特点: 持续集成和持续发布 作为可扩展的自动服务器,Jenkins可以作为简单的 ...
- POJ 1456 (贪心+并查集) Supermarket
有n件商品,每件商品有它的利润和售出的最后期限,问能够得到的最大利润是多少 这道题和 HDU 1789 Doing Homework again 几乎一模一样,只不过这个是求最的扣分,本题是求最大利润 ...
- 51nod1379 索函数
果断打表找规律.然后看得出来是2^k-1之后又不知道怎么求出k有什么卵用... http://blog.csdn.net/guhaiteng/article/details/52094210 %%%% ...
- jsp 三大指令和动作标签
jsp三大指令 一个jsp页面中可以有0-N个指令 1.page--->最复杂:<%@page language="" ...%> *pageEncoding和c ...
- HDU pog loves szh II (数的处理)
题意: 给一个序列,找出两个数字a和b(可以相等但不可相同),要求(a+b)%p的结果最大. 思路: 先将所有元素模p,再排序.要找出a和b,分两种情况,a+b>p和a+b<p.第一种,肯 ...
- [转载] ubuntu开机直接进入命令行模式
最近安装了ubuntu12.04来使用,每次都进入unity界面再进入命令行很不方便. 不需要界面的话,可以通过设置来开机进入命令行模式. 今天提供两中比较好的方法.经本人测试两中方法都可使用. [1 ...
- 使用Jekyll搭建博客
最近闲来无事,捣鼓了一下Git以及Github,尝试了一下基于Jekyll搭建个人博客的方法,现在把整个过程进行一个总结(部分内容转自互联网): <img src="http://up ...