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