欧美三区四区_av先锋影音资源站_亚洲第一论坛sis_影音先锋2020色资源网_亚洲精品社区_在线免费观看av网站_国产一区二区伦理_亚洲欧美视频一区二区_99视频精品全部免费在线_精精国产xxxx视频在线

一日精通Ajax技術_Xml教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!

推薦:XML卷之實戰錦囊(4):選單連動
現在我們做個在IE里應用XML的一個小例子:解決雙下拉選單的連動問題。大家最常見的可能就是選取省份后改變城市選項的例子了,那我們就來嘗試著用XML來完成吧。 以前介紹的一些功能我是直接用X


  Ajax這個名稱怎么來的,本人也不得而之了,大概是(Active Javascript Action Xml)吧,說白一點就是運用了 javascript、xmlhttp和xmldom技術及網站后臺來處理用戶的一些操作的方法吧。

  那么本人就分三步來說明如何使用 Ajax 技術來做開發。

  一、用 javascript 操作 xmlhttp 對象

  二、服務器部對xmlhttp請求的響應(PHP范例)

  三、xmldom 的使用方法

  先說第一部份:

  一、用 javascript 操作 xmlhttp 對象

  IE7, Mozilla ,Firefox等瀏覽器中,javascript是內置有 XMLHttpRequest 這個對象的,但IE5 則沒有,需要用如下方法來啟動:
//IE 6
try{ xhttp = new ActiveXObject("Msxml2.XMLHTTP";} catch(e){ ; }
//IE5
if(xhttp == null) try { xhttp = new ActiveXObject("Microsoft.XMLHTTP";} catch(e){ ; }

  那考慮不同瀏覽器的兼容,啟動一個xmlhttp一般都要按如下方式:

CODE:[Copy to clipboard]var xhttp = null;

if(window.XMLHttpRequest){ //IE7, Mozilla ,Firefox 等瀏覽器內置該對象

xhttp = new XMLHttpRequest();

}else if(window.ActiveXObject){ //IE6、IE5

try{ xhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e){ ; }

if( xhttp == null) try { xhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){; }

}

  對于 xmlhttp 的使用,一般遵守如下的順序:

  1、初始化 xmlhttp 對象(上文);

  2、打開鏈接

  方法

xhttp.open("GET", purl, true);

  參數一:用 GET 或 POST 方式發送數據

  參數二、請求網址(只能請求你服務器上的資源,一般瀏覽器安全限制不能讀取跨域的數據)

  參數三、true 表示異步傳輸(服務器返回信息完成前,你可以進行其它操作),false 表示阻斷方式的傳輸。

  3、設定要發送的 http 請求頭

  方法:

xhttp.setRequestHeader(key,value);

  一般來說,默認要發送的頭是:xhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded";

  這種表示發送的內容類型的請求頭用于發送文本數據,而且javascript默認是以unicode發送的,還有另外一種形式是:xhttp.setRequestHeader("Content-Type","multipart/form-data";這表示發送二制形式的數據,由于安全性原因,javascript一般不能用這種方式來發送數據,所以這個頭一般沒什么用。

  如果你的網站開啟了使用 refer 參數來防盜鏈,那么你必須用這個方法指定 Refer 參數,或者如果用戶需要登錄才能進行某操作,那么要指定 Cookie 的請求頭。

  4、send 數據

  方法:xhttp.send(postdata);

  對于用 get攻手請求,不需要指定postdata,直接用 test.php?a=a&b=b 這樣形式的網址來請求即可。

  如果是post方式,需要用 key1=value2&key2=value2 這樣的形式來對數據進行處理,把它合并在 postdata 字串中,然后發送。

  注意事項:

  javascript默認發送數據的方式是unicode,處理返回的數據必須是utf-8格式,因此,在發送的時候,需要用escape()函數來處理postdata和網址的value,在服務器上必須還原這些value,并把unicode轉為頁面編碼值,因此如果用 jsp 或 asp.net 都會比較簡單,但如果用php處理起來是什么費勁的,等下會教你如何做。

  5、確認服務器返回資料完成下載

  [1] 如果用阻斷的方式來發送請求,那么直接用 if(xhttp.readyState == 4)就能判斷是否完成。

readyState 的具體屬性值為:
0 沒open
1 沒send
2 狀態未知
3 正在傳送
4 傳送完成

  當然為了保障起見,還需要加多一重判斷,就是 if(xhttp.status == 200) ,status 就是 http 協議里的返回頭代碼

1xx 表示(唉呀,忘記了)
2xx 表示成功的信息
3xx 表示頁面轉移
4xx 頁面不存在
5xx 表示服務器的各種錯誤

  如果你的頁面沒特殊處理,一般用 if(xhttp.status == 200) 來確信內容返回是正確的

  [2] 如果用異步傳輸,需要用 onreadystatechange 的事件來監聽

xhttp.onreadystatechange = function()
{
//這里來進行上面阻斷方式的判斷
if(myajax.xhttp.readyState == 4){
if(myajax.xhttp.status == 200){
//要進行的后續操作
}
}
}

  6、獲取返回結果

屬性:
[1]xhttp.responseBody;
[2]xhttp.responseStream;
[3]xhttp.responseXml;
[4]xhttp.responseText;

  其中1、2都是二進制的方式,一般很少會用到,4不用看都知道了

  如果服務端無意外的話[3]返回的是一個xmldom的對象

  二、服務器部對xmlhttp請求的響應(PHP范例)

  為了簡化操作,在這里把 xmlhttp的各作操作封裝為一個類

  CODE:[Copy to clipboard]function DedeAjax(WiteOKFunc){ //WiteOKFunc 為異步狀態事件處理函數

//xmlhttp和xmldom對象
this.xhttp = null;
this.xdom = null;

//post或get發送數據的鍵值對
this.keys = Array();
this.values = Array();
this.keyCount = -1;

//http請求頭
this.rkeys = Array();
this.rvalues = Array();
this.rkeyCount = -1;
//請求頭類型
this.rtype = 'text';

//初始化xmlhttp
if(window.XMLHttpRequest){//IE7, Mozilla ,Firefox 等瀏覽器內置該對象
this.xhttp = new XMLHttpRequest();
}else if(window.ActiveXObject){//IE6、IE5
try { this.xhttp = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) { }
if (this.xhttp == null) try { this.xhttp = new ActiveXObject("Microsoft.XMLHTTP");} catch (e) { }
}
this.xhttp.onreadystatechange = WiteOKFunc;
//rs: responseBody、responseStream、responseXml、responseText

//以下為成員函數
//--------------------------------

//初始化xmldom
this.InitXDom = function(){
var obj = null;
if (typeof(DOMParser) != "undefined") { // Gecko、Mozilla、Firefox
var parser = new DOMParser();
obj = parser.parseFromString(xmlText, "text/xml");
} else { // IE
try { obj = new ActiveXObject("MSXML2.DOMDocument");} catch (e) { }
if (obj == null) try { obj = new ActiveXObject("Microsoft.XMLDOM"); } catch (e) { }
}
this.xdom = obj;
};

//增加一個POST或GET鍵值對
this.AddKey = function(skey,svalue){
this.keyCount ;
this.keys[this.keyCount] = skey;
this.values[this.keyCount] = escape(svalue);
};

//增加一個Http請求頭鍵值對
this.AddHead = function(skey,svalue){
this.rkeyCount ;
this.rkeys[this.rkeyCount] = skey;
this.rvalues[this.rkeyCount] = svalue;
};

//清除當前對象的哈希表參數
this.ClearSet = function(){
this.keyCount = -1;
this.keys = Array();
this.values = Array();
this.rkeyCount = -1;
this.rkeys = Array();
this.rvalues = Array();
};

//發送http請求頭
this.SendHead = function(){
if(this.rkeyCount!=-1){ //發送用戶自行設定的請求頭
for(;i<=this.rkeyCount;i ){
this.xhttp.setRequestHeader(this.rkeys[i],this.rvalues[i]);
}
}
 if(this.rtype=='binary'){
this.xhttp.setRequestHeader("Content-Type","multipart/form-data");
}else{
this.xhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
};

//用Post方式發送數據
this.SendPost = function(purl){
var pdata = "";
var i=0;
this.state = 0;
this.xhttp.open("POST", purl, true);
this.SendHead();
if(this.keyCount!=-1){ //post數據
for(;i<=this.keyCount;i ){
if(pdata=="") pdata = this.keys[i] '=' this.values[i];
else pdata = "&" this.keys[i] '=' this.values[i];
}
}
this.xhttp.send(pdata);
};

//用GET方式發送數據
this.SendGet = function(purl){
var gkey = "";
var i=0;
this.state = 0;
if(this.keyCount!=-1){ //get參數
for(;i<=this.keyCount;i ){
if(gkey=="") gkey = this.keys[i] '=' this.values[i];
else gkey = "&" this.keys[i] '=' this.values[i];
}
if(purl.indexOf('?')==-1) purl = purl '?' gkey;
else purl = purl '&' gkey;
}
this.xhttp.open("GET", purl, true);
this.SendHead();
this.xhttp.send();
};

} // End Class DedeAjax
上面代碼保存為: dedeajax.js

ok 那現在做個最簡單的測試吧
test.htm

CODE:[Copy to clipboard]<script language='javascript' src='dedeajax.js'></script>
<script language='javascript'>
function WiteOK()
{
var myinfo = document.getElementById("myinfo");
if(myajax.xhttp.readyState == 4){
if(myajax.xhttp.status == 200){
myinfo.innerHTML = myajax.xhttp.responseText;
}
}
}
var myajax = new DedeAjax(WiteOK);
myajax.AddKey("key1","----------------------------");
myajax.SendPost("test.php");

</script>

<div id='myinfo'><div>
test.php


CODE:[Copy to clipboard]<?
header("Content-Type: text/html; charset=gb2312");
echo $_POST['key1'];
?>
看到了什么了呢?不用激動,真正讓你頭痛的東西還沒有出來。

把類里面的

CODE:[Copy to clipboard]this.AddKey = function(skey,svalue){
this.keyCount ;
this.keys[this.keyCount] = skey;
this.values[this.keyCount] = svalue;//escape(svalue);
};
escape 屏蔽掉

發送
myajax.AddKey("key1","-----中---國----人-----";

看到什么了,亂碼是吧?呵呵,這回開始頭大了

先把 escape放回去
this.values[this.keyCount] = escape(svalue);

那么看到的就是
-----%u4E2D---%u56FD----%u4EBA-----

如何把 %u4E2D 這些東西弄回來呢?對于php而言這是一個很復雜的問題,如果用asp就簡單多了

下面是我寫的一個函數:


CODE:[Copy to clipboard]//unicode url編碼轉gbk編碼函數
function Unicode2Gbk($str)
{
//載入對照詞典
if(!isset($GLOBALS['GbkUniDic']))
{
$ds = file("./data/gbk_unicode.dic");
foreach($ds as $l){
$GLOBALS['GbkUniDic'][hexdec('0x'.substr($l,0,4))] = substr($l,5,4);
}
}
//處理字符串
$glen = strlen($str);
$okstr = "";
for($i=0; $i < $glen; $i )
{
if( $glen-$i > 4){
if($str[$i]=='%' && $str[$i 1]=='u'){
$uni = hexdec('0x'.substr($str,$i 2,4));
if(isset($GLOBALS['GbkUniDic'][$uni])){
$uni = $GLOBALS['GbkUniDic'][$uni];
$okstr .= chr(hexdec(substr($uni,0,2))).chr(hexdec(substr($uni,2,2)));
}
else $okstr .= "&#{".hexdec("0x".$uni).";";
$i = $i 5;
}
else $okstr .= $str[$i];
}
else $okstr .= $str[$i];
}
return $okstr;
}
詞典文件: http://www.ce86.com/myimg/data.rar


把test.php 輸出改為

echo Unicode2Gbk($_POST['key1']);

正常了吧

以下說下面和xml有關的東西的了

  三、xmldom 的使用方法
  
  由于本文僅是牽針引線的作用,這一章就簡單些,因為針對的是 php ,如果針對的是 asp.net 或 jsp 寫涉及 web server 類的通信,已經不單純是 ajax 的問題了,本章的任務是把test2.php

CODE:[Copy to clipboard]<?
header("Content-Type: text/xml; charset=gb2312");
echo '<'.'?'."xml version=\"1.0\" encoding=\"gb2312\" ".'?'.">
<myhome>
<item sex=\"男\">我是小一</item>
<item sex=\"女\">我是小二</item>
</myhome>
";
?>這個xml文檔在客戶端用自己的方式展現出來。因為xml這種東西比較麻煩,所以語法也必須嚴格,test2.htm的頁面的源碼為

CODE:[Copy to clipboard]<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>ajax測試</title>
</head>
<body onload="WiteLoadDocument()">
<script language='javascript' src='dedeajax.js'></script>
<script language='javascript'>
var myajax = new DedeAjax(WiteOK);
function WiteOK()
{
var myinfo = document.getElementById("myinfo");
var mydom = null;
myinfo.innerHTML = "以下是處理結果:<br/>";
if(myajax.xhttp.readyState == 4){
mydom = myajax.xhttp.responseXml;
alert(mydom);
}
}
function WiteLoadDocument()
{
myajax.SendGet("test2.php");
}
</script>
<div id='myinfo'><div>
</body>
</html>
在IE中測試一下,如果彈出的對話框是 [object] 就表示成功獲得返回的xml的xmldoc了。

那下面是處理:

CODE:[Copy to clipboard]function WiteOK()
{
var myinfo = document.getElementById("myinfo");
var mydom = null;
myinfo.innerHTML = "以下是處理結果:<br/>";
if(myajax.xhttp.readyState == 4){
mydom = myajax.xhttp.responseXml;
var nodeList = mydom.selectNodes("/myhome/item");
var mynode = null;
var myatt = null;
var mysex = "";
for(i=1;i<=nodeList.length;i )
{
mynode = nodeList[i-1];
for(j=0;j < myinfo.attributes.length;j )
{
if(!mynode.attributes[j]) break;
myatt = mynode.attributes[j];
if(myatt.name=='sex') mysex = myatt.value;
}
myinfo.innerHTML = "我是:" mynode.text ",我的性別是:" mysex "<br/>";
}
}
}

結果:

CODE:[Copy to clipboard]以下是處理結果:
我是:我是小一,我的性別是:男
我是:我是小二,我的性別是:女
OK,目的已經達到

  關于dom的部份只在IE6中測試過,可能在firefox中會有問題,大家可能參考與兼容性有關的文檔。

分享:XML入門教程:XML CDATA
所有XML文檔中的文本均會被解析器解析。 只有CDATA區段(CDATA section)中的文本會被解析器忽略。 Parsed Data XML解析器通常會解析XML文檔中所有的文本。 當某個XML元素被解析時,其

來源:模板無憂//所屬分類:Xml教程/更新時間:2008-08-22
相關Xml教程
欧美在线黄色| 中国老头性行为xxxx| 国产原创一区| 韩国理伦片一区二区三区在线播放 | 91免费视频网| 国产香蕉精品视频一区二区三区| 久久99国产精品| 日韩女同一区二区三区 | 亚洲另类欧美自拍| 亚洲天天做日日做天天谢日日欢| 国产午夜精品免费一区二区三区 | 久久高清免费| 玉米视频成人免费看| 欧美黄色小视频| 日韩av一二三四| 91久久久久国产一区二区| 激情久久五月| 欧美性生活影院| 99re国产视频| 国产精品扒开腿做爽爽| 欧美一区二区三区婷婷| 成人免费视频视频| 色先锋资源久久综合5566| 成人短视频在线观看免费| 成人午夜视频在线播放| 欧美激情偷拍自拍| 精品国产31久久久久久| 成人精品网站在线观看| 制服丝袜第一页在线观看| 国语自产精品视频在线看抢先版结局| 丁香婷婷综合色啪| 最近2019中文字幕在线高清| 国产无限制自拍| 中文天堂在线视频| 亚洲三级观看| 日韩一区二区三区视频在线观看| 久久久久网址| 国产在线一区视频| 国产精品久久占久久| 欧美日韩国产中字| 成人动漫视频在线观看完整版| 一级片视频免费看| 青青草原在线亚洲| 一区二区三区免费观看| 成人国产精品久久久| 亚洲熟妇无码av| 国产精品xxx在线观看| 国产精品久久久久久妇女6080| 欧美亚洲国产日韩2020| 国产精品99久久久精品无码| 亚洲资源在线| 国产精品污污网站在线观看| 日韩免费在线视频| 中文字幕乱码一区| 精品福利一区| 一级日本不卡的影视| 91在线精品播放| 秋霞欧美一区二区三区视频免费| 欧美系列电影免费观看| 高潮白浆女日韩av免费看| 国产高清精品一区二区| 免费在线一级片| 欧美区一区二| 日韩欧美中文字幕精品| 久久观看最新视频| www.麻豆av| 成人一级片网址| 欧美激情视频一区| 妖精视频一区二区| 婷婷综合福利| 色一情一乱一乱一91av| 女女同性女同一区二区三区91| 国产污视频在线看| 亚洲综合好骚| 日韩精品欧美激情| 久久这里只有精品8| 懂色av一区二区三区四区| 成人爱爱电影网址| 668精品在线视频| 免费黄色在线视频| 日韩精品dvd| 欧美一区二区三区在线视频| 日韩精品专区在线影院观看| 色悠悠久久久久| 亚洲精品视频导航| 456成人影院在线观看| 国产欧美日韩在线观看| 国产一区二区色| 日韩黄色免费观看| 91久久黄色| 亚洲性夜色噜噜噜7777| 一道本在线免费视频| 国产精品一站二站| 亚洲二区视频在线| 欧美污视频久久久| 国产又粗又猛又爽又黄91| 国产九色精品成人porny| 欧美激情精品久久久久| 精品人妻一区二区三区日产乱码卜| 视频一区中文| 91精品综合久久久久久| 欧美一级欧美一级| 成人黄色视屏网站| 亚洲欧洲中文日韩久久av乱码| 成人欧美一区二区| 国产精品va无码一区二区三区| 日韩av电影免费观看高清完整版| 精品国产一区二区三区久久久狼| 亚洲制服在线观看| 国产成人调教视频在线观看| 欧美丰满嫩嫩电影| 精品无码国模私拍视频| 深夜视频一区二区| 亚洲午夜在线观看视频在线| 日本一区二区三区www| 国产伦精品一区二区三区四区| av网站免费线看精品| 国产精品三级美女白浆呻吟| 国产在线综合网| 久久99精品久久久| 97视频在线播放| 青花影视在线观看免费高清| 久久精品人人| 欧美激情乱人伦一区| 久久久久久久久福利| 激情欧美国产欧美| 日韩少妇与小伙激情| 一级黄色片大全| 亚洲第一黄网| 美女福利精品视频| 亚洲午夜精品久久久久久高潮| 在线欧美亚洲| 欧美大尺度激情区在线播放| 午夜在线观看一区| 国产欧美日韩综合一区在线播放 | 黄色aaa视频| 精品动漫3d一区二区三区免费版 | 中国av一区| 日韩精品专区在线影院观看| 性生活免费在线观看| 曰本一区二区三区视频| 精品国产一区二区亚洲人成毛片| 亚洲另类第一页| 欧美熟乱15p| 亚洲欧洲xxxx| 熟女少妇一区二区三区| 一本久道综合久久精品| 欧美人与性动交| 91精品国产闺蜜国产在线闺蜜| 蜜桃av噜噜一区| 国产精品国产三级国产aⅴ浪潮| 国产成人无码精品久久久久| 懂色一区二区三区免费观看| 亚洲一区国产精品| 国产又粗又猛又黄又爽| 亚洲品质自拍视频| 激情五月五月婷婷| 视频一区视频二区欧美| 91精品国产综合久久精品麻豆| 国产性生交xxxxx免费| 女同另类激情重口| 日韩精品丝袜在线| 巨胸大乳www视频免费观看| 中文日韩在线| 97在线视频国产| 99精品在线播放| 久久久一区二区| 久久婷婷开心| 成人在线黄色| 欧美老女人在线| www.51色.com| 91精品国产调教在线观看| 久久人体大胆视频| 国产这里有精品| 成人精品免费视频| 久久亚洲免费| 99久久精品一区二区成人| 欧美日韩亚洲综合在线| www.桃色.com| 精品动漫3d一区二区三区免费| 国内揄拍国内精品少妇国语| 免费日韩一级片| 久久久99免费| 国产精品传媒在线| 国产日本欧美视频| 99国产精品久久久久99打野战| 亚洲精选一二三| 日本中文字幕网址| 欧美日韩国产传媒| 久久精品中文字幕| 久草视频精品在线| 国产欧美精品日韩区二区麻豆天美| 亚洲精品影院| 一区二区三区亚洲变态调教大结局| 精品国产免费一区二区三区香蕉| 日韩av一二区| 精品一区二区三区在线播放| 成人资源视频网站免费| 欧美粗大gay| 4hu四虎永久在线影院成人| 野花视频免费在线观看| 久久久久久黄| 成人性生交大片免费看视频直播 | 国产亚洲精品一区二555| 青青青视频在线播放| 国产91精品精华液一区二区三区| 久久国产一区| 精品中文字幕一区二区三区四区| 日韩hd视频在线观看| 国产精品情侣呻吟对白视频| 福利一区福利二区| 视频一区视频二区视频三区高| 日韩在线观看一区二区三区| 亚洲色图色老头| 欧美日韩偷拍视频| 中文字幕免费在线观看视频一区| 久久视频免费在线| 国产传媒欧美日韩成人精品大片| 久久成人精品电影| 无码人妻精品一区二区| 一区二区国产视频| 天天综合网日韩| 免费亚洲一区| av色综合网| 第四色男人最爱上成人网| 日韩丝袜美女视频| 免费在线观看a视频| av在线播放成人| 99视频精品全部免费看| 欧美肉体xxxx裸体137大胆| 国产综合在线视频| 国产99久久九九精品无码免费| 91九色02白丝porn| 免费日本黄色网址| 国产成人精品aa毛片| 一区二区日本伦理| 狠狠色丁香婷婷综合影院| 久久久免费在线观看| 国产精品乱码一区二区| 欧美亚男人的天堂| 伊人网在线视频观看| 99re热视频精品| 97超碰国产精品| 欧美激情视频一区二区三区在线播放 | 日韩毛片视频| 日韩av男人的天堂| 欧美7777| 国产午夜精品久久久 | 亚洲福利一区| 国产高清一区视频| 欧美视频精品全部免费观看| www.久久久久久.com| 中文字幕av网站| 欧美无乱码久久久免费午夜一区| 色婷婷在线影院| 国产欧美一区二区精品性色| 国产日韩一区二区在线观看| 国产女优一区| 欧美一区亚洲二区| 欧洲激情视频| 国产精品欧美激情在线播放| 黄色精品视频| 中文字幕av一区中文字幕天堂 | 美女视频黄免费的久久 | 菠萝蜜影院一区二区免费| 亚洲一区 中文字幕| 欧美日韩另类国产亚洲欧美一级| 蜜桃av乱码一区二区三区| 日本一区二区三区四区| 国产精品入口免费软件| 麻豆免费精品视频| 操bbb操bbb| 亚洲区国产区| 日本不卡二区| 99久久激情| 亚洲自拍偷拍一区| 林ゆな中文字幕一区二区| 51ⅴ精品国产91久久久久久| 偷拍视频一区二区三区| 中文字幕欧美日韩| a天堂在线视频| 亚洲成人亚洲激情| 亚洲天堂一区在线观看| 欧美无人高清视频在线观看| 欧美丰满熟妇bbbbbb| 亚洲国产综合在线| 国产ts丝袜人妖系列视频| 日本一区二区三区高清不卡| 欧美精品 - 色网| 99久久99久久免费精品蜜臀| 中文字幕永久视频| 国产成人综合在线播放| av免费观看国产| 免费成人在线影院| 800av在线免费观看| 日韩精品一级中文字幕精品视频免费观看 | 亚洲成人av免费观看| 91免费版在线看| 天堂中文av在线| 91在线观看视频| 加勒比av中文字幕| 2024国产精品| 无码人妻少妇色欲av一区二区| 2023国产精品自拍| 亚洲天堂小视频| 国产喷白浆一区二区三区| 亚洲熟女乱综合一区二区| 久久久91精品国产一区二区三区| 亚洲一级片免费观看| 国产视频一区在线观看| 又黄又色的网站| 国产精品免费视频一区| 污污内射在线观看一区二区少妇| 中文字幕亚洲欧美在线不卡| aaaa黄色片| 亚洲夂夂婷婷色拍ww47| 一本色道久久88| 日韩欧美aaa| 国产精品不卡av| 欧美久久久久久久久中文字幕| 99热只有这里有精品| 欧美一区二区三区婷婷月色| 亚洲国产成人精品女人久久| 亚洲成人999| 国产口爆吞精一区二区| 在线精品高清中文字幕| 污污视频在线免费看| 久久91精品国产| av一级久久| 国产精品视频永久免费播放| 最新亚洲精品| 黄色国产精品一区二区三区| 欧美成人69| 正在播放国产精品| 蜜臀av性久久久久蜜臀aⅴ四虎 | 亚洲妇熟xx妇色黄| 欧美做爰爽爽爽爽爽爽| 欧美性感一区二区三区| 日韩免费av网站| 亚洲美女又黄又爽在线观看| 人妻无码一区二区三区久久99| 欧美巨乳美女视频| 四虎影视成人精品国库在线观看| 国产精品久久激情| 禁断一区二区三区在线| 欧美伦理一区二区| 久久精品亚洲| 国产美女三级视频| 久久人人爽爽爽人久久久| 欧美 变态 另类 人妖| 日韩欧美国产免费播放| 日韩欧美高清在线观看| 亚洲成人a级网| 亚洲人成色777777精品音频| 97人人爽人人喊人人模波多| 麻豆一区二区麻豆免费观看| 成人在线免费观看一区| 亚洲三级色网| 亚洲丝袜自拍清纯另类| 素人fc2av清纯18岁| 日韩欧美大尺度| 日韩 国产 欧美| 中文字幕综合在线| 国产精品久久久久久久久久辛辛 | 亚洲v国产v在线观看| 麻豆一区二区99久久久久| 日本精品一区在线| 一区二区三区小说| 国产成人精品亚洲男人的天堂| 亚洲国产高潮在线观看| 国产欧美一区二区三区精品酒店| 欧美最顶级丰满的aⅴ艳星| 国产一区网站| 在线成人性视频| 国产成人午夜精品影院观看视频| 精品伦一区二区三区| 午夜精品久久久久久久久| 国产高潮久久久| 在线观看日韩专区| 久久伊人久久| 精品久久久久久一区二区里番| 免费看黄裸体一级大秀欧美| 最近中文字幕一区二区| 亚洲天堂免费看| 久久精品视频国产| 亚洲免费视频一区二区| 亚洲伦理一区二区| 国产精品久久久久久久久久久久午夜片 | 天天综合中文字幕| 丁香一区二区三区| 精品少妇人妻一区二区黑料社区| 欧美性生活久久| 国产综合视频在线| 国产精品video| 欧美日韩一区二区三区四区在线观看| 日韩欧美美女一区二区三区| 久久久久久久久影院| 播播国产欧美激情| 全球av集中精品导航福利| 亚洲一区二区精品在线观看|