日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

輕量級(jí)的Ajax解決方案——DynAjax:直接在客戶(hù)端調(diào)用C#類(lèi)的方法_AJAX教程

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

推薦:解讀輕量級(jí)的Ajax解決方案——DynAjax的JQuery版
下班了,剛到家,老婆在做飯,小家伙在玩玩具,暫時(shí)沒(méi)騷擾我。呵呵!趁這空閑寫(xiě)會(huì)博客。前兩天答應(yīng)改造DynAjax為JQuery版本,今天就完成這個(gè)任務(wù)吧。 上一篇隨筆介紹了輕量級(jí)的Ajax解決方案DynAjax,可惜原作者只有寫(xiě)支持Prototype.js版本的。 DynAjax用到Pr

前言:
MS Ajax我在以前一個(gè)項(xiàng)目中使用過(guò),感覺(jué)太笨重了,速度比較慢,而且出了問(wèn)題,很難控制。所以我一直想用一個(gè)可控制的替代框架。
客戶(hù)端JS框架肯定首推JQuery,優(yōu)雅簡(jiǎn)潔的代碼,完美的支持表現(xiàn)和邏輯分離,讓人一見(jiàn)傾心。
服務(wù)器端框架我找了一些,國(guó)內(nèi)的大部分還都是零散的代碼或處于萌芽狀態(tài),大多數(shù)實(shí)現(xiàn)JSON的C#類(lèi)就沒(méi)下文了,對(duì)安全性都沒(méi)有整合的建議。
直到今天,我發(fā)現(xiàn)了DynAjax,開(kāi)源的,完全可控的Ajax服務(wù)器端框架。原項(xiàng)目作者是法國(guó)人(Mr Benoît BEGUIN),現(xiàn)翻譯作者的介紹如下。

概述

DynAjax是一個(gè)Javascript / Ajax / ASP.Net / C# 結(jié)合的Ajax框架,它能幫助我們很容易地直接通過(guò)Javascript動(dòng)態(tài)調(diào)用服務(wù)器端的C#方法(就像Java世界的DWR)。對(duì)象序列化基于JSON,支持混合對(duì)象轉(zhuǎn)換。

下載最新正式版 (v1.04)

DynAjax v1.04

DynAjax是什么 ?

DynAjax 是以C# .Net / ASP .Net為服務(wù)器端、以Prototype為客戶(hù)端的Ajax框架(譯者按:發(fā)現(xiàn)DynAjax只有Prototype版本的,稍后一些日子我會(huì)發(fā)布改寫(xiě)的JQuery版的DynAjax),它支持從客戶(hù)端通過(guò)Javascript直接訪問(wèn)服務(wù)器端C#方法.

DynAjax 為誰(shuí)準(zhǔn)備的 ?

以下 C# / ASP .Net 開(kāi)發(fā)者:如果想要添加直接有效、方便的Ajax到你的網(wǎng)站 或者 專(zhuān)業(yè)級(jí)的項(xiàng)目開(kāi)發(fā) (我用它來(lái)開(kāi)發(fā)自己公司的專(zhuān)業(yè)級(jí)項(xiàng)目).

DynAjax到底能做些什么,怎么做的?

假設(shè)你正在開(kāi)發(fā)一個(gè)專(zhuān)業(yè)網(wǎng)站程序,你需要保存一些文本數(shù)據(jù)型的用戶(hù)信息到數(shù)據(jù)庫(kù)中,同時(shí)又不發(fā)送Html表單,也不刷新頁(yè)面。顯然,你需要使用Ajax。
你打算使用原始的XmlHttpRequest (Ajax) 請(qǐng)求數(shù)據(jù)和檢測(cè)返回的數(shù)據(jù)等等,發(fā)送數(shù)據(jù)并確認(rèn)正確被保存?這種原始的方法讓人感到繁瑣。

通過(guò)使用DynAjax,你可以很容易地保存這些文本數(shù)據(jù),而代價(jià)只是寫(xiě)寫(xiě)簡(jiǎn)單的JavaScript (假設(shè)有一個(gè)類(lèi)"MyClass",里面有個(gè)公共方法叫“saveText”,方法返回string類(lèi)型的“ok”,你可以這樣調(diào)用) :
 
var response = MyClass.saveText(myText);
if (response == "ok") {
--- code here ---
}
 
很簡(jiǎn)單的使用方法哦,不是嗎?
瀏覽 示例頁(yè) 查看更多的例子和源碼.

DynAjax是同步還是異步的?

取決你的使用:如果你想同步調(diào)用,使用這種語(yǔ)法形式:
var response = MyClass.myMethod(myArgs);
if (response >= 2) {
--- code here ---
}
 
如果你想異步調(diào)用,可以使用下面這種語(yǔ)法形式:
MyClass.myMethod(myArgs, function(response) {
if (response >= 2) {
--- code here ---
}
});
 
DynAjax 推薦采用這種異步方式。

DynAjax支持哪些數(shù)據(jù)類(lèi)型可以被客戶(hù)端Javascript接收?

幾乎所有數(shù)據(jù)類(lèi)型都能從服務(wù)器端返回到客戶(hù)端。事實(shí)上,數(shù)據(jù)被轉(zhuǎn)換為JSON格式 (JSON是Javascript與其他語(yǔ)言比如C#.Net,Java等交換數(shù)據(jù)的特殊格式,有點(diǎn)類(lèi)似xml的功能。)
這種格式支持以下數(shù)據(jù)類(lèi)型:
  • Strings 字符串
  • Numbers (int, decimal...) 數(shù)字
  • Booleans 布爾
  • Arrays 數(shù)組
  • HashTables 哈希表
  • Complex objects復(fù)合對(duì)象 (由成員變量, Arrays, HashTables, Arrays 或者其他復(fù)合對(duì)象 等等 構(gòu)成)
  • "null" value

如你所見(jiàn), 幾乎所有(數(shù)據(jù)類(lèi)型)都是可能的:你可以做到的。打個(gè)比方 , 如果你想開(kāi)發(fā)一個(gè)eBay類(lèi)型的網(wǎng)站,在搜索頁(yè)面,訪問(wèn)一個(gè)返回商品【實(shí)例】列表(List)的方法,并顯示列表 - 你只需要通過(guò)Javascript重復(fù)循環(huán)訪問(wèn)返回的JSON格式性質(zhì)列表 (List),進(jìn)而訪問(wèn)每個(gè)商品【實(shí)例】,然后訪問(wèn)【實(shí)例】屬性。這就如你在C#里面做的一樣,酷!

如果你想對(duì)JSON這個(gè)格式有更多了解,請(qǐng)?jiān)L問(wèn) Json description site(英文)。

安全性怎樣?

DynAjax 針對(duì)所有可遠(yuǎn)程訪問(wèn)的Method(方法),皆提供了安全驗(yàn)證機(jī)制.
事實(shí)上,每個(gè)方法必須被定義到XML格式的配置文件中,你可以設(shè)定這個(gè)方法是-需要-還是-不需要-訪問(wèn)驗(yàn)證。.
所以,即便黑客也不能在未驗(yàn)證通過(guò)的情況下訪問(wèn) 需要 驗(yàn)證的方法。

安裝/設(shè)置DynAjax到我的Web應(yīng)用程序中會(huì)麻煩嗎?

不麻煩, DynAjax基于8 個(gè)文件 :
  • DynAjaxHandler.aspx 和DynAjaxHandler.cs - Ajax處理器,接受和分派所有的DynAjax調(diào)用
  • dynAjaxScript.aspx 和dynAjaxScript.cs - 動(dòng)態(tài)生成客戶(hù)端JavaScript,屬于DynAjax的重要部分 (盡管這個(gè)文件擴(kuò)展名是aspx,但它作為js調(diào)用)
  • prototype.js - prototype框架
  • Newtonsoft.Json.dll - 一個(gè).net的Json程序集
  • log4net.dll - 日志庫(kù)
  • dynAjaxConfig.xml - DynAjax 的配置文檔(XML格式的)

這8 個(gè)文件必須直接拷貝到Web應(yīng)用程序目錄中, 只有dynAjaxConfig.xml可以根據(jù)需要進(jìn)行配置修改,其他文件非專(zhuān)業(yè)不要修改.
相當(dāng)容易,對(duì)吧 ?
您可以看看第一本DynAjax教程 DynAjax 教程 01(英文),一步一步地進(jìn)行DynAjax的安裝/配置。
 

分享:解析ajax實(shí)現(xiàn)無(wú)刷新驗(yàn)證用戶(hù)名是否存在
實(shí)現(xiàn)用的是jdbc+jsp+servlet,數(shù)據(jù)庫(kù)用的是mysql 表就2個(gè)字段 實(shí)現(xiàn)原理獲得text的值后,通過(guò)調(diào)用servlet查詢(xún)數(shù)據(jù)庫(kù)里是否存在,在通過(guò)xml傳到前臺(tái) OperationName.java response.setContentType(text/xml;charset=UTF-8)這句很重要,沒(méi)有他前臺(tái)獲得不到xml,之前

來(lái)源:模板無(wú)憂(yōu)//所屬分類(lèi):AJAX教程/更新時(shí)間:2010-02-08
相關(guān)AJAX教程