2018-03-06 踏青地點推薦、Js模塊化胳螟、C#三層構(gòu)架二昔馋、get和post區(qū)別(新)、AJAX跑ERROR的原因

第一組:姚成棟 興趣分享——踏青地點推薦

立春已過糖耸,天氣漸漸回暖秘遏,你聞到春天的味道了嗎?周末在家發(fā)呆還不如出門走一走嘉竟。給大家推薦幾個地方踏踏青:
西湖:可能是大家都會去的地方邦危,但是確實一年四季都有不同的風(fēng)光,春天自然也有春日的美舍扰。


運河:這可能就沒多少人知道啦铡俐,但是在運河邊上散散步真的很愜意⊥姿冢可以從武林門做船到拱宸橋审丘,然后走一走。


濱江櫻花跑道:漫步濱江櫻花步道勾给,春風(fēng)拂過滩报,櫻花爛漫锅知,人在景中行,如在畫中游脓钾。整個畫面唯美得不可思議售睹!


第二組:馮佳麗 Js模塊化

——轉(zhuǎn)載

剛開始的時候我們寫js代碼是這么寫的

[html] view plain copy print?
1.  function method1(){  
2.    
3.  }  
4.  function method2(){  
5.    
6.  }  

然后調(diào)用的時候通過method1(),method2()即可調(diào)用可训,這么寫的話有很明顯的缺點昌妹,在頁面上我們可能引用了其他的js庫,這么寫會污染全局變量握截,無法保證自己定義的函數(shù)名稱不同其他js庫中的名字沖突飞崖。而且也不能看出不同函數(shù)之間的關(guān)系。

后來我們學(xué)會了封裝谨胞,將相關(guān)的函數(shù)以及變量封裝到一個對象中固歪,我們這樣寫:

[html] view plain copy print?
1.  var module = {  
2.      a : 0,  
3.      b : 1,  
4.      method1:function(){  
5.    
6.      },  
7.      method2:function(){  
8.        
9.      }  
10. }  

調(diào)用的時候,我們可以這樣module.mehtod1();

如此將相關(guān)函數(shù)放入一個模塊內(nèi)部可以大大的減少名字沖突的概率胯努,但是如此寫也會有一個缺點牢裳,模塊內(nèi)部的一些內(nèi)部狀態(tài)也對外可見,我們可以在外部修改其內(nèi)部狀態(tài)module.a = 1;

因此我們可以這么寫叶沛,采用立即執(zhí)行函數(shù)的寫法

[html] view plain copy print?
1.  var module = (function(){  
2.      var a = 0;  
3.      var method1 = function(){};  
4.      var method2 = function(){};  
5.      return{  
6.          method1:method1,  
7.          method2:mehtod2  
8.      };  
9.  })();  

如此一來我們就將內(nèi)部變量隔絕在模塊內(nèi)部蒲讯,只有內(nèi)部函數(shù)才能訪問以及賦值,從模塊外部無法進行訪問灰署。

那么如果某個模塊過大判帮,那么怎么辦呢?把所有的內(nèi)容放在同一個js文件中么氓侧,這樣在加載js文件的時候就會加載了本來不需要的內(nèi)容脊另,照成網(wǎng)絡(luò)資源的浪費。

我們怎么樣將一個過大的模塊分開放在不同的js文件中呢约巷?

我們可以這樣:

[html] view plain copy print?
1.  var module = (function(mod){  
2.      mod.method3 = function(){  
3.      };  
4.      return mod;  
5.  })(module || {});  

我們在模塊module中加入一個新的方法method3

將js代碼寫成不同的模塊之后偎痛,我們就需要對這些模塊進行管理,當(dāng)我們把不同的模塊代碼放在不同的js文件中的時候独郎,我們頁面上面就會出現(xiàn)類似于這種代碼:

[html] view plain copy print?
1.  <script type="text/javascript" src="1.js"></script>  
2.  <script type="text/javascript" src="2.js"></script>  
3.  <script type="text/javascript" src="3.js"></script>  

如果這些模塊之間有依賴關(guān)系踩麦,我們還不能顛倒了這些js加載的順序,我們可以通過一個開源的js庫require.js(csdn下載)來管理我們js的加載氓癌。

< script type="text/javascript" src="require.js" data-main="../js/main.js"></scirpt> 

data-main指定主js谓谦,最先加載的js文件,如果該js文件依賴于其他的js庫贪婉,那么我們可以在main.js文件最上面這么寫:

[html] view plain copy print?
1.  require(['jquery'], function(){  
2.        
3.  });  

require方法接受兩個參數(shù)反粥,第一個參數(shù)為數(shù)組,指明該js所依賴的js文件,第二個參數(shù)為回調(diào)函數(shù)才顿,當(dāng)所有依賴都被加載之后該回調(diào)函數(shù)會被執(zhí)行莫湘。

默認(rèn)的路徑為main.js所在的路徑+模塊id(即數(shù)組中指定的名字)以js為后綴的文件。同時我們也可以配置這些依賴的具體路徑

[html] view plain copy print?
1.  require.config({  
2.      paths:{  
3.          jquery:"../js/jquery.min"  
4.      }  
5.  });  
6.  或者  
7.  require.config({  
8.      baseUrl:"js/lib",  
9.      path:{  
10.         jquery:"jquery.min"  
11.     }  
12. })  
13. 也可以  
14. require.config({  
15.     baseUrl:"js/lib",  
16.     path:{  
17.         jquery: "https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min"  
18.     }  
19. })  

第三組:蔡永堅 C#三層構(gòu)架二

具體的區(qū)分方法
  1:數(shù)據(jù)訪問層:主要看你的數(shù)據(jù)層里面有沒有包含邏輯處理郑气,實際上他的各個函數(shù)主要完成各個對數(shù)據(jù)文件的操作幅垮。而不必管其他操作。
  2:業(yè)務(wù)邏輯層:主要負(fù)責(zé)對數(shù)據(jù)層的操作尾组。也就是說把一些數(shù)據(jù)層的操作進行組合忙芒。
  3:表示層:主要對用戶的請求接受,以及數(shù)據(jù)的返回讳侨,為客戶端提供應(yīng)用程序的訪問呵萨。
表示層
   位于最外層(最上層),離用戶最近爷耀。用于顯示數(shù)據(jù)和接收用戶輸入的數(shù)據(jù)甘桑,為用戶提供一種交互式操作的界面拍皮。
業(yè)務(wù)邏輯層
  業(yè)務(wù)邏輯層在體系架構(gòu)中的位置很關(guān)鍵歹叮,它處于數(shù)據(jù)訪問層與表示層中間,起到了數(shù)據(jù)交換中承上啟下的作用铆帽。由于層是一種弱耦合結(jié)構(gòu)咆耿,層與層之間的依賴是向下的,底層對于上層而言是“無知”的爹橱,改變上層的設(shè)計對于其調(diào)用的底層而言沒有任何影響萨螺。如果在分層設(shè)計時,遵循了面向接口設(shè)計的思想愧驱,那么這種向下的依賴也應(yīng)該是一種弱依賴關(guān)系慰技。因而在不改變接口定義的前提下,理想的分層式架構(gòu)组砚,應(yīng)該是一個支持可抽取吻商、可替換的“抽屜”式架構(gòu)。正因為如此糟红,業(yè)務(wù)邏輯層的設(shè)計對于一個支持可擴展的架構(gòu)尤為關(guān)鍵艾帐,因為它扮演了兩個不同的角色。對于數(shù)據(jù)訪問層而言盆偿,它是調(diào)用者柒爸;對于表示層而言,它卻是被調(diào)用者事扭。依賴與被依賴的關(guān)系都糾結(jié)在業(yè)務(wù)邏輯層上捎稚,如何實現(xiàn)依賴關(guān)系的解耦,則是除了實現(xiàn)業(yè)務(wù)邏輯之外留給設(shè)計師的任務(wù)。
數(shù)據(jù)層
   數(shù)據(jù)訪問層:有時候也稱為是持久層今野,其功能主要是負(fù)責(zé)數(shù)據(jù)庫的訪問晰奖,可以訪問數(shù)據(jù)庫系統(tǒng)、二進制文件腥泥、文本文檔或是XML文檔匾南。
  簡單的說法就是實現(xiàn)對數(shù)據(jù)表的Select,Insert蛔外,Update蛆楞,Delete的操作。如果要加入ORM的元素夹厌,那么就會包括對象和數(shù)據(jù)表之間的mapping豹爹,以及對象實體的持久化。
優(yōu)缺點
優(yōu)點
  1矛纹、開發(fā)人員可以只關(guān)注整個結(jié)構(gòu)中的其中某一層臂聋;
  2、可以很容易的用新的實現(xiàn)來替換原有層次的實現(xiàn)或南;
  3孩等、可以降低層與層之間的依賴;
  4采够、有利于標(biāo)準(zhǔn)化肄方;
  5、利于各層邏輯的復(fù)用蹬癌。
缺點
  1权她、降低了系統(tǒng)的性能。這是不言而喻的逝薪。如果不采用分層式結(jié)構(gòu)隅要,很多業(yè)務(wù)可以直接造訪數(shù)據(jù)庫,以此獲取相應(yīng)的數(shù)據(jù)董济,如今卻必須通過中間層來完成步清。
  2、有時會導(dǎo)致級聯(lián)的修改感局。這種修改尤其體現(xiàn)在自上而下的方向尼啡。如果在表示層中需要增加一個功能,為保證其設(shè)計符合分層式結(jié)構(gòu)询微,可能需要在相應(yīng)的業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層中都增加相應(yīng)的代碼崖瞭。
  3、增加了開發(fā)成本撑毛。
規(guī)則
  三層結(jié)構(gòu)的程序不是說把項目分成DAL, BLL, WebUI三個模塊就叫三層了, 下面幾個問題在你的項目里面:
  1. UILayer里面只有少量(或者沒有)的SQL語句或者存儲過程調(diào)用, 并且這些語句保證不會修改數(shù)據(jù)?
  2. 如果把UILayer拿掉, 你的項目還能在Interface/API的層次上提供所有功能嗎?
  3. 你的DAL可以移植到其他類似環(huán)境的項目嗎?
  4. 三個模塊, 可以分別運行于不同的服務(wù)器嗎?
  如果不是所有答案都為YES, 那么你的項目還不能算是嚴(yán)格意義上的三層程序. 三層程序有一些需要約定遵守的規(guī)則:
  1. 最關(guān)鍵的, UI層只能作為一個外殼, 不能包含任何BizLogic的處理過程
  2. 設(shè)計時應(yīng)該從BLL出發(fā), 而不是UI出發(fā). BLL層在API上應(yīng)該實現(xiàn)所有BizLogic, 以面向?qū)ο蟮姆绞?br>   3. 不管數(shù)據(jù)層是一個簡單的SqlHelper也好, 還是帶有Mapping過的Classes也好, 應(yīng)該在一定的抽象程度上做到系統(tǒng)無關(guān)
  4. 不管使用COM+(Enterprise Service), 還是Remoting, 還是WebService之類的遠(yuǎn)程對象技術(shù), 不管部署的時候是不是真的分別部署到不同的服務(wù)器上, 最起碼在設(shè)計的時候要做這樣的考慮, 更遠(yuǎn)的, 還得考慮多臺服務(wù)器通過負(fù)載均衡作集群
  所以考慮一個項目是不是應(yīng)該應(yīng)用三層/多層設(shè)計時, 先得考慮下是不是真的需要? 實際上大部分程序就開個WebApplication就足夠了, 完全沒必要作的這么復(fù)雜. 而多層結(jié)構(gòu), 是用于解決真正復(fù)雜的項目需求的书聚。


第四組:張元一 get和post區(qū)別唧领?

通常的理解

w3schools關(guān)于這個問題的解答:HTTP 方法:GET 對比 POST (http://www.w3school.com.cn/tags/html_ref_httpmethods.asp)列出了一般的理解,比如:
GET后退按鈕/刷新無害雌续,POST數(shù)據(jù)會被重新提交(瀏覽器應(yīng)該告知用戶數(shù)據(jù)會被重新提交)斩个。
GET書簽可收藏,POST為書簽不可收藏驯杜。
GET能被緩存受啥,POST不能緩存 。
GET編碼類型application/x-www-form-url鸽心,POST編碼類型encodedapplication/x-www-form-urlencoded 或 multipart/form-data滚局。為二進制數(shù)據(jù)使用多重編碼。
GET歷史參數(shù)保留在瀏覽器歷史中顽频。POST參數(shù)不會保存在瀏覽器歷史中藤肢。
GET對數(shù)據(jù)長度有限制,當(dāng)發(fā)送數(shù)據(jù)時糯景,GET 方法向 URL 添加數(shù)據(jù)嘁圈;URL 的長度是受限制的(URL 的最大長度是 2048 個字符)。POST無限制蟀淮。
GET只允許 ASCII 字符最住。POST沒有限制。也允許二進制數(shù)據(jù)灭贷。
與 POST 相比温学,GET 的安全性較差略贮,因為所發(fā)送的數(shù)據(jù)是 URL 的一部分甚疟。在發(fā)送密碼或其他敏感信息時絕不要使用 GET !POST 比 GET 更安全逃延,因為參數(shù)不會被保存在瀏覽器歷史或 web 服務(wù)器日志中览妖。
GET的數(shù)據(jù)在 URL 中對所有人都是可見的。POST的數(shù)據(jù)不會顯示在 URL 中揽祥。

這個對比整體沒什么毛病讽膏,但只是給出了一些現(xiàn)象上的區(qū)別,但并沒有解釋為什么拄丰,對于這個問題的理解不能就停在這一層府树。

理解錯了?

有一篇文章99%的人理解錯 HTTP 中 GET 與 POST 的區(qū)別(http://mp.weixin.qq.com/s?__biz=MzI3NzIzMzg3Mw==&mid=100000054&idx=1&sn=71f6c214f3833d9ca20b9f7dcd9d33e4#rd)料按,否定了上述回答:“很遺憾奄侠,這不是我們要的回答!”载矿,作者說:

GET和POST本質(zhì)上就是TCP鏈接垄潮,并無差別。但是由于HTTP的規(guī)定和瀏覽器/服務(wù)器的限制,導(dǎo)致他們在應(yīng)用過程中體現(xiàn)出一些不同弯洗。 GET和POST還有一個重大區(qū)別旅急,簡單的說:GET產(chǎn)生一個TCP數(shù)據(jù)包;POST產(chǎn)生兩個TCP數(shù)據(jù)包牡整。

對于GET方式的請求藐吮,瀏覽器會把http header和data一并發(fā)送出去,服務(wù)器響應(yīng)200(返回數(shù)據(jù))逃贝; 而對于POST炎码,瀏覽器先發(fā)送header,服務(wù)器響應(yīng)100 continue秋泳,瀏覽器再發(fā)送data潦闲,服務(wù)器響應(yīng)200 ok(返回數(shù)據(jù))。


第五組:陳孚楠 AJAX跑ERROR的原因

  1. dataType錯誤
    類型錯誤:后臺返回的dataType類型和前臺寫的不一致會跳入error
    格式錯誤:jquery1.4之后對json的格式要求非常嚴(yán)格迫皱,json格式錯誤也會跳入error.{"test":1} 注意格式
    有時歉闰,在不需要返回值的情況下,扔按模板格式卓起,設(shè)置了dataType:"json",參數(shù)和敬;這時候,ajax傳值正確時戏阅,出現(xiàn)200返回成功狀態(tài)下報錯的特殊情況昼弟。

  2. async請求同步異步問題
    async默認(rèn)是true(異步請求),如果想一個Ajax執(zhí)行完后再執(zhí)行另一個Ajax, 需要把async=false
    例如,你用post請求傳值到另一個頁面后臺奕筐,但是頁面一加載你的ajax就已經(jīng)執(zhí)行過了舱痘,傳值接收是在后臺才完成的,這時候就請求不到數(shù)據(jù)离赫,所以可以考慮把ajax請求改為同步試試芭逝。

  3. data不能不寫
    data為空也一定要傳"{}";不然返回的是xml格式的渊胸。并提示parsererror. data:"{}"
    parsererror的異常和Header 類型也有關(guān)系旬盯。及編碼header('Content-type: text/html; charset=utf8');

  4. 傳遞的參數(shù)
    必須是ajax支持的編碼格式

  5. URL路徑問題
    路徑不能有中文
    原文地址: http://www.cnblogs.com/calamus/p/5794700.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市翎猛,隨后出現(xiàn)的幾起案子胖翰,更是在濱河造成了極大的恐慌,老刑警劉巖切厘,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件萨咳,死亡現(xiàn)場離奇詭異,居然都是意外死亡迂卢,警方通過查閱死者的電腦和手機某弦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門桐汤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人靶壮,你說我怎么就攤上這事怔毛。” “怎么了腾降?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵拣度,是天一觀的道長。 經(jīng)常有香客問我螃壤,道長抗果,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任奸晴,我火速辦了婚禮冤馏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘寄啼。我一直安慰自己逮光,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布墩划。 她就那樣靜靜地躺著涕刚,像睡著了一般。 火紅的嫁衣襯著肌膚如雪乙帮。 梳的紋絲不亂的頭發(fā)上杜漠,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天,我揣著相機與錄音察净,去河邊找鬼驾茴。 笑死,一個胖子當(dāng)著我的面吹牛塞绿,可吹牛的內(nèi)容都是我干的沟涨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼异吻,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喜庞?” 一聲冷哼從身側(cè)響起诀浪,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎延都,沒想到半個月后雷猪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡晰房,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年求摇,在試婚紗的時候發(fā)現(xiàn)自己被綠了射沟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡与境,死狀恐怖验夯,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情摔刁,我是刑警寧澤挥转,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站共屈,受9級特大地震影響绑谣,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜拗引,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一借宵、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧矾削,春花似錦暇务、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至挡逼,卻和暖如春括改,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背家坎。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工嘱能, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人虱疏。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓惹骂,卻偏偏與公主長得像,于是被迫代替她去往敵國和親做瞪。 傳聞我的和親對象是個殘疾皇子对粪,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,960評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)装蓬,斷路器著拭,智...
    卡卡羅2017閱讀 134,657評論 18 139
  • 1.幾種基本數(shù)據(jù)類型?復(fù)雜數(shù)據(jù)類型?值類型和引用數(shù)據(jù)類型?堆棧數(shù)據(jù)結(jié)構(gòu)? 基本數(shù)據(jù)類型:Undefined、Nul...
    極樂君閱讀 5,517評論 0 106
  • 1.幾種基本數(shù)據(jù)類型?復(fù)雜數(shù)據(jù)類型?值類型和引用數(shù)據(jù)類型?堆棧數(shù)據(jù)結(jié)構(gòu)? 基本數(shù)據(jù)類型:Undefined牍帚、Nul...
    伯納烏的追風(fēng)少年閱讀 25,810評論 2 46
  • 極簡主義儡遮,是現(xiàn)在很多人在倡導(dǎo)的一種生活態(tài)度。那么今天我們就來嘮嘮什么是極簡主義暗赶,又體現(xiàn)在那里鄙币。 提到極簡肃叶,大家都會...
    貓群楊大叔閱讀 210評論 0 1
  • ——記錄共讀《新年有奇跡》第二天 假期的第二本書《新年有奇跡》已經(jīng)共讀了第二天啦因惭!為堅持的孩子們打Call。 今天...
    Daisy虹閱讀 570評論 0 1