加载异步数据

6-1 加载异步数据

XMLHttpRequest--传统的JavaScript方法实现Ajax功能

6-1-a

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>XMLHttpRequest--传统的JavaScript方法实现Ajax功能</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style> <script>
var objXmlHttp = null //声明一个空的XMLHTTP变量 function CreateXMLHttp()
{
//根据浏览器的不同,返回该变量的实体对象
if(window.ActiveXObject)
{
objXmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
if(window.XMLHttpRequest)
{
objXmlHttp = new XMLHttpRequest();
}
else
{
alert("初始化XMLHTTP错误!");
}
}
} function GetSendData()
{
//
document.getElementById("divTip").innerHTML = "<img alt='' title='' src='' />";
//
var strSendUrl = "6-1-b.html?date=" + Date();
//
CreateXMLHttp();
//
objXmlHttp.open("GET",strSendUrl,true);
objXmlHttp.onreadystatechange = function()
{
if(objXmlHttp.readyState == 4)
{
if(objXmlHttp.statue == 200)
{
//
document.getElementById("divTip").innerHTML = objXmlHttp.responseText;
}
}
}
//
objXmlHttp.send(null);
} </script>
</head>
<body> <div class="divFrame">
<div class="divTitle">
<input id="Button1" type="button" onclick="GetSendData()" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
</div>
</div> </body>
</html>

6-1-b

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
</style>
<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
<script>
</script>
</head>
<body>
<div class="clsShow">
姓名:陶国荣<br />
性别:男<br />
邮箱:tao_guo_rong@163.com
</div>
</body>
</html>

6-2 jQuery:load()方法

load(url,[data],[callback]) --获取异步数据
--url:被加载的页面技术
--[data]:表示发送到服务器的数据,格式为:key/value
--[callback]:回调函数

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//load(url,[data],[callback]) --获取异步数据
//url--被加载的页面技术
//[data]--表示发送到服务器的数据,格式为:key/value
//[callback]--回调函数
$("#Button1").click(function () {
$("#divTip").load("a.htm .clsShow", function (data) {
$("#divTip").html(data)
});
//a.htm .clsShow a.htm页面中类别名为.clsShow的全部元素
//$("#divTip").load("a.htm");
});
})
</script>
</head>
<body>
<h2>6-2-a</h2>
<div class="divFrame">
<div class="divTitle">
<input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
</div>
</div>
</body>
</html>

6-3 getJSON()

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>getJSON</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
<script>
$(function(){
//*******
//JSON文件格式--一种轻量级的数据交互格式
//$.getJSON(url,[data],[callback])
//--url:被加载的页面技术
//--[data]:表示发送到服务器的数据,格式为:key/value
//--[callback]:回调函数
$("#Button1").click(function(){
//
$.getJSON('demo.js',function(date){
$("#divTip").empty();
var strHTML="";
$.each(date,function(InfoIndex,Info){
strHTML += "姓名:" + Info["name"] + "<br>";
strHTML += "性别:" + Info["sex"] + "<br>";
strHTML += "邮箱:" + Info["email"] + "<hr>";
})
$("#divTip").html(strHTML);
})
})
})
</script>
</head>
<body>
<h2>6-3:getJSON</h2>
<div class="divFrame">
<div class="divTitle">
<input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
</div>
</div>
</body>
</html>

6-4  getScript()

全局函数getScript()获取.js文件的内容.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>getScript</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
<script>
//******
//$.getScript(url,[callback]) $(function(){
//
$("#Button1").click(function(){
//
$.getScript("UserInfo.js",function(){
$("#test").html("ok!");
});
})
})
</script>
</head>
<body> <h2>6-4:getScript</h2>
<div class="divFrame">
<div class="divTitle">
<input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
<div id="test"></div>
</div>
</div> </body>
</html>

js文件

// JavaScript Document
var data =[
{
"name":"吴者然",
"sex":"男",
"email":"demo1@123.com"
},
{
"name":"吴中者",
"sex":"男",
"email":"demo2@123.com"
},
{
"name":"何开",
"sex":"女",
"email":"demo3@123.com"
},
{
"name":"zq",
"sex":"man",
"email":"zq@zq.com"
}
]
var strHTML="";
$.each(data,function(){
strHTML += "姓名:" + this["name"] + "<br>";
strHTML += "性别:" + this["sex"] + "<br>";
strHTML += "邮箱:" + this["email"] + "<hr>";
});
$("#divTip").html(strHTML);

6-5  异步加载XML文档

$.get(url,[data],[callback],[type])

--url:加载的数据地址

--[data]:发送到服务器的数据,key/value

--[callback]:加载成功时执行的回调函数

--[type]:返回数据的格式--html,xml,js,json,text

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>get()--XML</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script type="text/javascript" src="js/jquery-1.12.3.min.js"></script>
<script>
$(function(){
$("#Button1").click(function(){
//打开文件,并通过回调函数处理获取的数据
$.get("UserInfo.xml",function(data){
var strHTML="";
$(data).find("User").each(function() {
var $strUser = $(this);
strHTML += "姓名:" + $strUser.find("name").text()+"<br>";
strHTML += "性别:" + $strUser.find("sex").text()+"<br>";
strHTML += "邮箱:" + $strUser.find("email").text()+"<hr>";
});
$("#divTip").html(strHTML);
});
})
})
</script>
</head>
<body> <h2>6-5:XML</h2>
<div class="divFrame">
<div class="divTitle">
<input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
<div id="test"></div>
</div>
</div> </body>
</html>

xml:

<?xml version="1.0" encoding="utf-8"?>
<Info>
<User id ="1">
<name>qq</name>
<sex>male</sex>
<email>qq@qq.com</email>
</User>
<User id ="2">
<name>ww</name>
<sex>female</sex>
<email>ww@ww.com</email>
</User>
</Info>

请求服务器数据

6-6 $.get()向服务器请求数据

***客户端向服务器传递参数时,使用的格式是{key0:value0,key1:value1,.......},"key0"为参数名称,"value0"为参数的值。

***如果参数的值是中文格式,必须通过使用encodeURI()进行转码,当然,在客户端接受时,使用decodeURL()进行解码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>get</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
#txtName
{
width: 122px;
}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript"> $(function () {
$("#Button1").click(function () {
//打开文件,并通过回调函数返回服务器响应后的数据
$.get("UserInfo.aspx", {
name: encodeURI($("#txtName").val())
}, function (data) {
$("#divTip").empty().html(data);
});
});
}) </script> </head>
<body> <h2>6-6:get()</h2>
<div class="divFrame">
<div class="divTitle">
姓名:<input id="txtName" type="text" /><input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
<div id="test"></div>
</div>
</div> </body>
</html>

服务器端文件

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserInfo.aspx.cs" Inherits="WebApplication1.UserInfo" %>

<%

    string strName = System.Web.HttpUtility.UrlDecode(Request["name"]);
string strHTML = "<div class='clsShow'>";
if (strName == "qq")
{
strHTML += "name:qq<br>";
strHTML += "sex:qq<br>";
strHTML += "mail:qq@qq.com<hr>";
}
else if (strName == "ww")
{
strHTML += "name:ww<br>";
strHTML += "sex:ww<br>";
strHTML += "mail:ww@ww.com<hr>";
}
else
{
strHTML += "没有找到!<hr>";
}
strHTML += "</div>";
Response.Write(strHTML); %>

6-7  $.post()

**$.get()与$.post()区别:

**GET方式不适合传递数据量较大的数据,其请求的历史信息会保存在浏览器的缓存中;POST则不存在

--$.post(url,[data],[callback],[type])

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>post</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
#txtName
{
width: 122px;
}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#Button1").click(function () {
//
$.post("UserInfo.aspx", {
name: encodeURI($("#txtName").val())
}, function (data) {
$("#divTip").empty().html(data);
});
});
})
</script>
</head>
<body>
<h2>6-7:post()</h2>
<div class="divFrame">
<div class="divTitle">
姓名:<input id="txtName" type="text" /><input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
<div id="test"></div>
</div>
</div>
</body>
</html>

6-8  serialize()序列化表单

**serialize()方法可以很完美地模拟浏览器提交表单的操作,同时自动解决了中文编码的问题,但它自身有很多不足,如表单中有多项被选中时,该方法只能传递一项的值。因此,在选择传递参数时,须慎重考虑。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>serialize()序列化表单</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$("#Button1").click(function () {
//
//serialize()序列化表单
$.post("UserInfo2.aspx", $("#frmUserInfo").serialize(),
function (data) {
$("#divTip").empty().html(data);
});
/*
$.post("UserInfo2.aspx", {
name: encodeURI($("#txtName").val()),
sex:encodeURI($("#txtSex").val())
}, function (data) {
$("#divTip").empty().html(data);
});
*/
});
})
</script>
</head>
<body>
<h2>6-8:serialize()</h2>
<form id="frmUserInfo">
<div class="divFrame">
<div class="divTitle">
姓名:<input id="txtName" type="text" /><br />
邮箱:<input id="txtSex" type="text" /><br />
<input id="Button1" type="button" class="btn" value="获取数据" />
</div>
<div class="divContent">
<div id="divTip"></div>
<div id="test"></div>
</div>
</div>
</form>
</body>
</html>

$.ajax()方法

6-9  $.ajax([options])

**参数

--url:string 发送请求的地址

--type:string 数据请求方式(post/get),默认是get

--data:string/object 发送到服务器的数据,字符串格式(get:字符串在URL后面)

--dataType:string 服务器返回的数据类型。html,script,text,xml,json

--beforeSend:function

--complete:function 请求完成后调用的回调函数

--success:function 请求成功后调用的回调函数,有两个参数,一个是根据参数dataType处理后服务器返回的数据,另一个是strStatus,用于描述成功请求类型的字符串

--error:function 请求失败后调用的回调函数

--timeout:Number 请求超时的时间(毫秒)

--global:boolean 是否响应全局事件

--async:boolean 是否为异步请求,true,false

--cache:boolean 是否进行页面缓存,true,false

Login.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () { $("#btnLogin").click(function () {
var userName = encodeURI($("#txtName").val());
var userPass = encodeURI($("#txtPass").val()); $.ajax({
url: "Login.aspx",
typr:"post",
dataType: "text",
data: { txtName: encodeURI($("#txtName").val()), txtPass: encodeURI($("#txtPass").val()) },
success: function (data) {
if (data == "1") {
$("#divError").show().html("ok!");
//alert(data);
}
else {
//alert(data);
$("#divError").show().html("error!");
}
}
})
});
})
</script> </head> <body> <div class="divFrame">
<div class="divTitle">
<span>用户登录</span>
</div> <div class="divContent">
<div class="clsShow">
<div id="divError" class="clsError"></div>
<div>名称:<input id="txtName" type="text" class="txt" /></div>
<div>密码:<input id="txtPass" type="text" class="txt" /></div> <div>
<input id="btnLogin" type="button" value="登录" class="btn" />&nbsp;
<input id="btnReset" type="button" value="取消" class="btn" />
</div> </div>
</div>
</div> </body>
</html>

Login.aspx

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="WebApplication1.Login" %>

<%

    string strName = System.Web.HttpUtility.UrlDecode(Request["txtName"]);
string strPass = System.Web.HttpUtility.UrlDecode(Request["txtPass"]);
var blnLogin = ;
if (strName == "admin" && strPass == "admin")
{
blnLogin = ;
}
Response.Write(blnLogin); %>

**$.ajax()方法时jQuery中最底层的方法,全局函数$.getScript(),$.get(),$.post(),$.getJSON()都可以用$.ajax()方法进行代替。

6-10  $.ajaxSetup()设置全局Ajax

**$.ajaxSetup([options]) , [options]是一个对象,通过该对象可以设置$.ajax()方法中的参数。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>$.ajaxSetup()方法全局设置ajax</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//全局设置
$.ajaxSetup({
type: "GET",
url: "UserInfo.xml",
dataType: "xml"
}); $("#Button1").click(function () {
success: function (data) {
//ShowData(data, "姓名", "name");
$("#divTip").html("姓名");
}
});
$("#Button2").click(function () {
success: function (data) {
//ShowData(data, "性别", "sex");
$("#divTip").html("性别");
}
});
$("#Button3").click(function () {
success: function (data) {
//ShowData(data, "邮箱", "email");
$("#divTip").html("邮箱");
}
}); /*
*showData
*d为请求响应后的数据
*n为数据中文说明字符
*v为数据在响应数据中的元素名称
*/
function ShowData(d, n, v) {
$("#divTip").empty();
var strHTML = "";
$(d).find("User").each(function () {
var $strUser = $(this);
strHTML += n + ":" + $strUser.find(v).text() + "<hr>";
});
$("#divTip").html(strHTML);
}
})
</script>
</head>
<body> <div class="divFrame">
<div class="divTitle">
<span><input id="Button1" value="姓名" type="button" class="btn" /></span>
<span><input id="Button2" value="性别" type="button" class="btn" /></span>
<span><input id="Button3" value="邮箱" type="button" class="btn" /></span>
</div>
<div class="divContent">
<div id="divTip" class="clsShow"></div>
</div>
</div> </body>
</html>

UserInfo.xml

<?xml version="1.0" encoding="utf-8" ?>

<Info>
<User id ="1">
<name>qq</name>
<sex>male</sex>
<email>qq@qq.com</email>
</User>
<User id ="2">
<name>ww</name>
<sex>female</sex>
<email>ww@ww.com</email>
</User>
</Info>

Ajax中的全局事件

--ajaxComplete(callback)

--ajaxError(callback)

--ajaxSend(callback)

--ajaxStart(callback)

--ajaxStop(callback)

--ajaxSuccess(callback)

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ajax中的全局事件</title>
<style type="text/css">
body{ font-size:13px;}
.divFrame{ width:260px; border:solid 1px #666;}
.divFrame .divTitle{ padding:5px; background-color:#eee;}
.divFrame .divContent{ padding:8px;}
.divFrame .divContent .clsShow{ font-size:14px;}
.clsTip{ display:none;}
.btn{ border:#666 1px solid; padding:2px; width:80px;}
#txtData
{
width: 115px;
}
</style>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
//
$("#divMsg").ajaxStart(function () {
$(this).show();
}); $("#divMsg").ajaxStop(function () {
$(this).html("已成功获取数据").hide(2000);
}); $("#Button1").click(function () {
$.ajax({
type: "GET",
url: "GetData.aspx",
data: { txtData: encodeURI($("#txtData").val()) },
dataType: "html",
success: function (data) {
var str = decodeURI(data).substr(0, 2);
$("#divTip").html(str);
}
});
});
})
</script>
</head>
<body> <div class="divFrame">
<div class="divTitle">
<span>数据:<input id="txtData" type="text" /></span>
<span><input id="Button1" type="button" value="发送" class="btn" /></span> </div>
<div class="divContent">
<div id="divMsg" class="clsTip"></div>
<div id="divTip" class="clsShow"></div>
</div>
</div> </body>
</html>
GetData.aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="GetData.aspx.cs" Inherits="WebApplication1.GetData" %>

<%

    string strName = Request["txtData"];
Response.Write(strName);
%>

第六篇 ajax的更多相关文章

  1. 解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译)

    解剖SQLSERVER 第十六篇 OrcaMDF RawDatabase --MDF文件的瑞士军刀(译) http://improve.dk/orcamdf-rawdatabase-a-swiss-a ...

  2. 解剖SQLSERVER 第六篇 对OrcaMDF的系统测试里避免regressions(译)

    解剖SQLSERVER 第六篇  对OrcaMDF的系统测试里避免regressions (译) http://improve.dk/avoiding-regressions-in-orcamdf-b ...

  3. Python之路【第十六篇】:Django【基础篇】

    Python之路[第十六篇]:Django[基础篇]   Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了O ...

  4. 第六篇 :微信公众平台开发实战Java版之如何自定义微信公众号菜单

    我们来了解一下 自定义菜单创建接口: http请求方式:POST(请使用https协议) https://api.weixin.qq.com/cgi-bin/menu/create?access_to ...

  5. RabbitMQ学习总结 第六篇:Topic类型的exchange

    目录 RabbitMQ学习总结 第一篇:理论篇 RabbitMQ学习总结 第二篇:快速入门HelloWorld RabbitMQ学习总结 第三篇:工作队列Work Queue RabbitMQ学习总结 ...

  6. 第六篇 Replication:合并复制-发布

    本篇文章是SQL Server Replication系列的第六篇,详细内容请参考原文. 合并复制,类似于事务复制,包括一个发布服务器,一个分发服务器和一个或多个订阅服务器.每一个发布服务器上可以定义 ...

  7. 第六篇 Integration Services:初级工作流管理

    本篇文章是Integration Services系列的第六篇,详细内容请参考原文. 简介在前几篇文章中,我们关注使用增量加载方式加载数据.在本篇文章,我们将关注使用优先约束管理SSIS控制流中的工作 ...

  8. 第六篇 SQL Server安全执行上下文和代码签名

    本篇文章是SQL Server安全系列的第六篇,详细内容请参考原文. SQL Server决定主体是否有必要的执行代码权限的根本途径是其执行上下文规则.这一切都可能复杂一个主体有执行代码的权限,但是却 ...

  9. 第六篇 SQL Server代理深入作业步骤工作流

    本篇文章是SQL Server代理系列的第六篇,详细内容请参考原文. 正如这一系列的前几篇所述,SQL Server代理作业是由一系列的作业步骤组成,每个步骤由一个独立的类型去执行.每个作业步骤在技术 ...

随机推荐

  1. LeetCode 63. 不同路径 II(Unique Paths II)

    题目描述 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” ). 机器人每次只能向下或者向右移动一步.机器人试图达到网格的右下角(在下图中标记为“Finish”). ...

  2. LVS负载均衡(LVS简介、三种工作模式、十种调度算法)

    一.LVS简介 LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中.该项目在Linux内核中实现 ...

  3. 机器学习:gensim之Word2Vec 详解

    一 前言 Word2Vec是同上一篇提及的PageRank一样,都是Google的工程师和机器学习专家所提出的的:在学习这些算法.模型的时候,最好优先去看Google提出者的原汁Paper和Proje ...

  4. django在进行模板render(渲染)时,对传过来的是字典中包含字典应用方法

    网上自强学堂参考的 views.py def home(request): info_dict = {'site': u'自强学堂', 'content': u'各种IT技术教程'} return r ...

  5. Eclipse 4.11 Debug jar包代码时进入空心J

    代码调试时,进入jar包中的时候,会出现如下的情况超级影响代码调试 断点打在上面的地方,但是却进入到了空心J的那个地方了. 解决办法:去掉勾选即可. 我是这么解决的.

  6. appium环境搭建步骤

    前提条件是:搭建selenium环境(侵权删) 1.安装jdk,配置环境变量: JAVA_HOME C:\Program Files\Java\jdk1.8.0_60(jdk的存放路径) CLASSP ...

  7. 《Java开发手册》

    一. 编程规约 (一) 命名风格 [强制]抽象类命名使用Abstract或Base开头:异常类命名使用Exception 结尾:测试类 命名以它要测试的类的名称开始,以Test结尾. [强制]POJO ...

  8. LeetCode.1128-等价多米诺骨牌对的数量(Number of Equivalent Domino Pairs)

    这是小川的第394次更新,第428篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第259题(顺位题号是1128).给定多米诺骨牌列表,当且仅当(a == c且b == d ...

  9. Centos6.4安装配置mysql

    大数据开发需要读取关系型数据库内的数据,学习过程中主要使用mysql进行学习,以下记录mysql的安装与配置过程. 1.mysql简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司 ...

  10. logistics二分类

    binaryclassification #DATASET: https://archive.ics.uci.edu/ml/datasets/Glass+Identificationimport nu ...