您的位置:首页 > Web前端 > JQuery

ajax请求数据和跨域、 jquery插件、SVN知识点总结

2019-07-01 17:33 1836 查看

ajax请求数据和跨域

1、ajax的异步请求之 load 加载公共的html文件

load()方法是异步(局部)的,加载的信息中如果需要事件响应,必须通过回调函数来实现(或者委托),也就是说所有load加载的数据中的事件都要写在回调函数中
load()方法如果想要请求不同结构的内容,可以把这些内容写到一个文件中,请求数据时,在url后加一个请求容器的选择器名称即可(这里选择器建议使用基本选择器)

load()方法的参数有三个:
第一个: 请求的url
第二个: 发送的数据 json格式 {}
第三个参数 : 回调函数
回调函数中有三个参数,分别是:
function(res,type,xhr){
console.log(res); //请求数据
console.log( type );//请求的状态
console.log(xhr); //deffered 异步对象 (类似于js中promise对象)
}

2、ajax请求之 $.get 或 $.post

以 $. 开始的ajax请求方式是全局方法
$.get(三个参数) 以get方式请求数据
第一个参数:请求的路径
第二个参数:请求数据  json对象 {}
第三个参数: 回调函数 (回调函数中也有三个参数,同load)

$.post()  以post方式请求数据  用法同$.get()

3、ajax请求之 $.getJson() $.getScript()

$.getJson(“xxx.json”,data, 回调函数) 通过这种方式请求json数据 三个参数 : url data function(){}
$.getScript(“xxx.js”,回调) 通过这种方式请求js脚本数据 ,立即执行请求的脚本代码

4、$.ajax

jquery的ajax请求服务器传递过来的数据一般都是object对象(请求的数据是object类型)

用法:

$.ajax({
type:"get",     请求数据方式
url:"http://127.0.0.1/jqAjx1706/data.json";,    请求路径
success:function(){     服务器通过 success  方法 获取处理的结果
console.log("成功");
}
});

或 $.ajax 方法返回一个deffered对象 (类似promise)
如果请求数据成功,通过done方法获取服务器的数据

var deff = $.ajax({ type:,url: })
deff.done(function(){

})

关于deffered方法描述 :
deferred对象是jQuery的回调函数的解决方案。
deferred对象有done方法,表示成功时要调用的回调函数。
deferred对象有fail方法,表示失败时要调用的回调函数。
then方法表示都成功是再调用对应的回调函数。

常用方法:

$.ajax({
type:"get",
url:"http://127.0.0.1/jqAjax1706/data.json";,
datatype:"json",//指定请求数据的类型    请求数据类型如果是json   表示正常ajax请求   如果是jsonp,表示跨域请求
data:{"name":"admin"},//向服务器发送数据
success:function(res){
//alert(typeof res);
//此处处理服务器返回数据的业务逻辑
}
});

ajax跨域:
https://sp0.baidu.com/5a1Fazu8AA54nxGko9WTAnF6hhy/su?wd="+txt+"&cb=fn

$.ajax({
type:"get",
url:"https://api.douban.com/v2/book/search?q=css&callback=fn&start=0&count=10";,
dataType:"jsonp",
jsonCallback:"fn"   //设置回调函数
});
function  fn(msg){
alert( msg );
}

jquery插件

1、自定义插件 :

方式一:

$.extend({       自定义工具方法  全局函数
方法名 : function(){},
....
})

全局调用 : $.方法名()

//全局调用用法详解

<script>
$.extend({
fnSum : function( arr ){
return eval( arr.join( "+" ) );
},
trimLeft : function( arr ){
return str.replace( /^\s+/g , "")
},
trimRight : function( str ){
return str.replace( /\s+$/g , "")
},
max : function( arr ){
return Math.max.apply( null , arr)
}
});
let sum = $.fnSum( [2,3,4,5,6] );
console.log( sum );	//数组求和
let trimStrL = $.trimLeft( "    hello world   " );
console.log( trimStrL );    //去掉字符串左侧的空格符
let trimStrR = $.trimRight( "    hello world   " );
console.log( trimStrR );  //去掉字符串右侧的空格符
</script>

方式二 :

$.fn.extend({    自定义对象的方法   不是全局方法
方法名 : function(){

},
...
})

局部调用 :使用 jq选择器.方法名()
注意 : $.fn是jQuery原型对象

//局部调用方法详解

<script>
$.fn.extend({
setColor : function(){
//颜色设置
//this 指向jq元素还是dom元素? jq元素
this.css({
color : "red"
})
},
setRandColor : function(){
this.each( function(){
//this指向谁? dom元素
$(this).css({
backgroundColor : "red"
})
} )
return this;
},
bindMouseenter : function(){
//鼠标移入到某个元素上  高亮显示
this.mouseenter( function(){
//为当前操作的元素 添加一个color属性
this.color = $(this).css("backgroundColor");
//操作当前的元素背景色的高亮显示
$(this).css({
backgroundColor : "white"
})
} )
return this;
},
bindMouseleave : function(){
//离开颜色恢复
this.mouseleave( function(){
$(this).css({
backgroundColor : this.color
})
} )
}
})
//为li标签设置颜色
$("li").setRandColor().bindMouseenter().bindMouseleave();
</script>

扩展 :
$.函数名 = function(){ … } $.调用
$.fn.函数名 = function(){ … } jq对象调用

//扩展对象合并的方法

let res = $.extend( {a:1,b:2} , { b : 3 , c : 2 } , { a:5 , d : 3 } );
console.log( res );   //object{ a : 5 , b : 3 , c : 2 , d : 3}

SVN

svn概念:
集中式版本管理控制工具
svn特点 :
一台服务器对应多个客户端
使用svn管理项目时,不能断开网络

使用步骤 :
开发一个项目,
项目经理 使用svn搭建一个服务器 classManager ,创建一个项目仓库

项目参与者 :
第一步 : 从服务器上检出项目仓库
在某个文件夹下 右键–checkout

第二步 :创建新文件  开始写代码  
将新创建的文件添加到本地的svn客户端上  
add
第三步 : 提交文件到svn服务器上
commit

第二步和第三步可以合并成一个 直接commit

其余的项目参与这 如果希望看到项目整个进度 可以直接 更新项目
update

总结 :
下班 :commit
上班 :update
https://10.9.68.252/svn/classManager/
用户名和密码 : a

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: