亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > AJAX > 正文

jQuery Ajax使用心得詳細整理及注意事項

2024-09-01 08:31:22
字體:
來源:轉載
供稿:網友
jQuery Ajax相關文章想必大家在網上面已經看到了很多,本文主要目的是整理jQuery Ajax相關內容,感興趣的朋友可以了解下,或許本文對你有所幫助

IE7及以下請求方式用GET的話,URL的限制是個很容易忽視的問題(最大2083個字符)。所以如果URL有可能過長的話,一定要用POST。
--------------------------------------------------------------------------------
終止Ajax請求
終止請求需要調用XMLHttpRequest對象的abort()方法
而在jQuery中的$.get,$.post、$.ajax、$.getJSON、$.getScript...的返回值都是XMLHttpRequest對象.
調用abort()后,ajax請求立即停止,但仍然會執行success的回調函數
所以在success的回調函數中需要先判斷 ajaxGet 或 data是否存在,存在才執行回調函數

復制代碼 代碼如下:


var ajaxGet = $.get(someURL,someData,function(data){
if(!data)return true;
//TODO
});
ajaxGet.abort();


說到跨域資源共享(CORS Cross-Origin Resoure Sharing),現在正變的越來越重要。各種地圖API,微博API等等,網站開發人員不必自己去放衛星,只要根據別人開放的接口,就能獲取到這些數據。
這得益于跨源策略。

JSONP就是跨源策略的一種方案。基本原理就是利用瀏覽器允許跨域獲取script資源(包括圖片)的特點,在服務器端生成script Tag,并傳回客戶端。

要注意的是,服務器端返回的不是JSON格式的字符串,而是callbackName+"("+JSON_string+")"也就是JSONP。

這就相當于服務器把一段JS代碼(被賦值的函數)返回瀏覽器,然后立即執行。
所以,在瀏覽器端發送的URL中(以GET的形式),需要把回調函數名傳入。
客戶端:

復制代碼 代碼如下:


function deal(data){
//TODO
}
var s= document.createElement("script")
//不必一定叫callback,但是一定要跟服務器端的Request.QueryString匹配
s.src = "http://172.20.2.60:8088/newwebsite/MyHandler.ashx?callback=func";
document.body.appendChild(s)


服務器端(.Net)

復制代碼 代碼如下:


<%@ WebHandler Language="C#" %>
using System;
using System.Web;
public class Test : IHttpHandler {
public void ProcessRequest (HttpContext context) {
context.Response.Charset = "utf-8";
context.Response.ContentType = "text/javascript";
string callback = context.Request.QueryString["callback"];//回調函數名
string json = "{'name':'Ray','msg':'hello world!'}";//JSON格式的字符串
string result = string.Format("{0}({1})", callback, json);
context.Response.Write(result);
context.Response.Flush();
context.Response.End();
}
public bool IsReusable {
get {
return false;
}
}
}


用jQuery的話,URL中就不用加回調函數名了,因為jQuery已經為你代勞了,而這個回調函數就是success。

復制代碼 代碼如下:


$.ajax({
url: "http://172.20.2.60:8088/newwebsite/MyHandler.ashx"
, dataType: "jsonp"
, success: function(data) {
//TODO
}
});


JSONP很強大,但是也有兩個讓人蛋疼的地方,首先是安全性問題。
不管怎么說你都是從別人的地盤倒騰數據,而且內容還是腳本!也就是說如果人家是個壞人,給你點惡意代碼,那就不好辦了。

當然這個問題一般也不會發生。畢竟咱想請求數據的地方都是咱熟悉的要么就是官方的(什么谷歌地圖API,新浪微博API這些顯然不會給你坑)。

另一個問題就鬧心了。瀏覽器端對JSONP的請求是否失敗是無法直接知曉的。就算用jQuery,error也不起作用。就算出錯了try,catch也捕捉不到。

所以暫時知道的只有一種不完美方法,就是設定一個時限,如果超過時限還沒有數據返回,那么就判定error。說不完美是因為,各家的網速是不同的,所以...你懂得。
--------------------------------------------------------------------------------
jQuery中contentType相關
jQuery官網原文

復制代碼 代碼如下:


contentType
Default: 'application/x-www-form-urlencoded; charset=UTF-8'
When sending data to the server, use this content type.
Default is "application/x-www-form-urlencoded; charset=UTF-8", which is fine for most cases.
If you explicitly pass in a content-type to $.ajax(),
then it'll always be sent to the server (even if no data is sent).
If no charset is specified, data will be transmitted to the server using the server's default charset;
you must decode this appropriately on the server side.


通過這段文字我們就可以知道在jQuery ajax中 contentType默認是'application/x-www-form-urlencoded; charset=UTF-8' 當然這是最新版jQuery的。相對于以前版本是有些許變化的。

如果想將一個對象序列化后傳向后臺,可以將contentType設置為'application/json'
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩电影大全免费观看2023年上| 97视频在线观看网址| 亚洲少妇激情视频| 久久久999国产精品| 欧美日韩在线观看视频| 国产福利视频一区| 欧美大尺度电影在线观看| 国内精品久久久久影院 日本资源| 久久精品99久久香蕉国产色戒| 91国自产精品中文字幕亚洲| 欧美亚洲第一区| 韩国一区二区电影| 精品女厕一区二区三区| 国产不卡一区二区在线播放| 亚洲午夜精品久久久久久久久久久久| 亚洲国产毛片完整版| 日本韩国在线不卡| 国产成人精品999| 国产精品一区二区性色av| 精品久久久久久久久久久| 欧美电影免费观看| 正在播放亚洲1区| 亚洲国产精品人人爽夜夜爽| 亚洲自拍在线观看| 日韩欧美国产黄色| 91大神福利视频在线| 精品视频—区二区三区免费| 69精品小视频| 一区二区三区视频免费| 国产精品成久久久久三级| 91手机视频在线观看| 亚洲精品国产精品自产a区红杏吧| 欧洲美女7788成人免费视频| 亚洲成人激情视频| 欧美多人乱p欧美4p久久| 亚洲精品av在线播放| 国产成人久久久| 中文字幕亚洲一区在线观看| 欧美黑人狂野猛交老妇| 久久99热这里只有精品国产| 538国产精品视频一区二区| 精品国模在线视频| 日韩av高清不卡| 国产日韩欧美夫妻视频在线观看| 国产成人精品av在线| 韩剧1988在线观看免费完整版| 亚洲一区免费网站| 中国日韩欧美久久久久久久久| 国产精品白丝av嫩草影院| 国产精品久久久久久久久久ktv| 国产精品啪视频| 欧美性生交xxxxx久久久| 国产一区二区美女视频| 国产亚洲视频在线观看| 亚洲视频免费一区| 5252色成人免费视频| 最好看的2019的中文字幕视频| 国产精品视频播放| 日韩成人av网| 国产精品网站入口| 亚洲电影av在线| 2019最新中文字幕| 亚洲尤物视频网| 成人网在线免费观看| 亚洲精品视频二区| 欧美激情一区二区三区成人| 色婷婷av一区二区三区久久| 久久精品夜夜夜夜夜久久| 性色av一区二区三区红粉影视| 国产欧美一区二区白浆黑人| 国产精品大片wwwwww| 精品久久久久久久久国产字幕| 欧洲成人免费aa| 日韩精品中文字幕久久臀| 影音先锋日韩有码| 精品久久久久久中文字幕大豆网| 国内精品久久久久影院优| 俺去亚洲欧洲欧美日韩| 午夜精品福利在线观看| 国产精品久久久久久五月尺| 亚洲一区二区久久久| 欧美日韩国产在线播放| 欧美第一黄网免费网站| zzijzzij亚洲日本成熟少妇| 亚洲国产精品免费| 亚洲毛茸茸少妇高潮呻吟| 久久久中文字幕| 992tv成人免费影院| 国产精品av免费在线观看| 欧美成人精品在线观看| 色伦专区97中文字幕| 91精品视频播放| 91国内产香蕉| 亚洲成人精品久久| 欧美猛少妇色xxxxx| 日本一本a高清免费不卡| 在线观看欧美日韩| 91精品国产91久久久久久不卡| 日韩av中文字幕在线| 久久精品国产一区二区电影| 亚洲伊人第一页| 国产精品久久久久久久av电影| 日韩免费观看高清| 国外视频精品毛片| 欧美视频一区二区三区…| 国产精品丝袜一区二区三区| 久久全国免费视频| 日本一区二三区好的精华液| 国产综合福利在线| 欧美极品少妇xxxxⅹ裸体艺术| 中文字幕欧美日韩va免费视频| 成人福利免费观看| 这里只有精品丝袜| 久久精品电影一区二区| 成人做爰www免费看视频网站| 成人国产精品久久久| 国产精品av在线播放| 亚洲另类xxxx| 亚洲毛片在线免费观看| 国产97人人超碰caoprom| 97视频色精品| 国产精品自产拍在线观| 久久全球大尺度高清视频| 欧美日韩一区二区三区在线免费观看| 亚洲曰本av电影| 九九热在线精品视频| 浅井舞香一区二区| 日本久久91av| 欧美日韩黄色大片| 黑人巨大精品欧美一区二区免费| 亚洲视频欧洲视频| 亚洲国产免费av| 中文字幕久久久| 亚洲精品国产精品国产自| 福利精品视频在线| 宅男66日本亚洲欧美视频| 亚洲最大福利网| 中文字幕精品—区二区| 国产精品日韩欧美大师| 国产www精品| 欧美性xxxxx| 亚洲免费影视第一页| 亚洲毛茸茸少妇高潮呻吟| 日韩欧美一区二区三区| 亚洲va久久久噜噜噜| 久久久久久久999精品视频| 69视频在线免费观看| 国产一区二区三区丝袜| 浅井舞香一区二区| 亚洲国产免费av| 欧美俄罗斯乱妇| 欧美成人剧情片在线观看| 伊人激情综合网| 亚洲精品福利免费在线观看| 91精品国产91久久久久久最新| 动漫精品一区二区| 日韩中文有码在线视频| 疯狂蹂躏欧美一区二区精品| 2019中文字幕免费视频| 97久久久久久| 日韩免费在线电影| 欧美激情精品久久久久久| 国产精品无码专区在线观看| 日韩精品免费在线|