DIV CSS 佈局教程網

ajax資料
編輯:AJAX詳解     

同步:
1、客戶端:
function callXMLHttp()
    {
    var strurl;
    var result;
        
    strurl = "XMLHttpServer.ASPx?strID=100";
    
    var objHttp = new ActiveXObject("Microsoft.XMLHTTP");
    
    objHttp.open("get", strurl, false);
    objHttp.send();
    
    result = objHttp.ResponseText; 
    }

2、服務器端:
private void Page_Load(object sender, System.EventArgs e)
{
if (Request.QueryString.Keys.Count > 0 && Request.QueryString["strID"].Length > 0)
            {
                strID = Request.QueryString["strID"].ToString();
            }

            Response.Write("要返回的值");
}

異步:
還有一種寫法:
function Test(obJSrc,objDes) 
    {
        try {
            xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
        } catch(e) {
            xmlHttp = new XMLHttpRequest();
        }

        XMLHttp.onreadystatechange = function() {
            if (XMLHttp.readyState == 4) {
                if (XMLHttp.status == 200) {
                    var data = XMLHttp.responseText;
                    document.getElementById(objDes).value = data;
                }
            }
        }

        XMLHttp.open("GET","CodeNameServer.ASPx?testid=" + obJSrc.value);
        XMLHttp.send(null);
    }

介紹一下常用的方法的區別:GET, POST, PUT:不對請大家指正。
名詞:Request-URI中"URI"指:統一資源標識符(URI) 
1,  GET方法取回由Request-URI標識的所有信息。HEAD方法也是取回由Request-URI標識的信息,只是可以在響應時,不返回消息體。
2,  POST方法可以請求服務器接收包含在請求中的實體信息,可以用於提交表單,向新聞組、BBS、郵件群組和數據庫發送消息。即可只返回表單的局部Form的信息
3,  PUT與POST類似,區別是:POST返回帶資源的句柄的消息實體,資源中有數據接收的進程,網關,代理,協議等信息。而在PUT時已經知道Request-URI的資源信息,不會再申請資源等。
----------------------------
如:要HTTP的頭域包括通用頭,請求頭,響應頭和實體頭:
Response.Charset = "GB2312";
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
等信息是應用:GET方法;
如:只取Form中的信息,或發消息最好用POST;
因為還有安全方面的區別:GET會返回:Request-URI標識的所有信息,網關,代理,日志信息
考慮到安全,請合理使用。

CSDN網友(我需要一月有40天):
首先要剔除一種簡單化的想法:把一個通過get方式從服務器獲得局部html功能就當作AJax的全部。這種東西完全可以通過頁面內一個iframe(style="display:none")獲得一個頁面然後把其內部的一個對象的innerHTML賦值給頁面上另外任何框架內的對象的innerHtml來獲得,懂script的人寫起來非常簡單,而且這個局部頁面完全可以是一個普通的頁面而不必去考慮什麼新奇的玩意。

Ajax必須實現頁面上幾個、幾十個、幾百個AJax區域的協作功能,包括服務器向客戶端主動通知功能,否則就是“阿斗”,一將無能累死三軍,令很多中級程序員消磨大量時間最終令應用系統殘廢。想象你們學習ASP.Net最初時刻和用它工作了一兩年之後的差別:頁面上不再是一兩個簡單的數據顯示,而是很多東西協調顯示相互觸發的了。

我相信新的瘦客戶端浏覽器顯示功能的新標准會出台,web編程模式也會整個轉移到組件為主頁面為輔的方式上,這時候組件“知道”自己所屬的頁面但是獨立並行地加載。

但這不是AJax。

如果對Ajax真正的功能有期望,還是去開發c/s應用比較好。如果只是刷新局部頁面,那麼數年來很多簡單得多的方法可用,AJax就變成多余的噱頭了。

我不知道微軟怎麼會搞這個東西,它明確地說其實就是個webService的新的形式(使用浏覽器url的交互形式)不就完了嘛,省得大家以為這是web頁面的編程技術。

由於AJax它與自己所在的web窗體的內部對象、組件不兼容,這打破了傳統的窗體開發的習慣和知識的。要注意,這時“阿斗”的窗體組件,不是我們習慣的真實窗體組件。

CSDN網友(小山):
今天下午整理了一下,大概的創建步驟如下,分享出來,大家一起提高,有精彩的也要貼哦^_^
------------------------------------
AJax定義為“Asynchronous Javascript + XML”的簡稱,也就是異步的JavaScript和XML處理。從原理上看,主要是AJax可以通過調用HttpRequest實現與服務器的異步通訊,並最終在網頁中實現豐富友好的用戶界面
AJax使用初步,配置步驟

1.把Ajax.dll copy到應用系統bin目錄下,然後在工程引用中引用AJax.dll,如果沒有的話可以到網上下載
2.配置web.config,添加如下信息
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, AJax" />
</httpHandlers>
3.假設應用系統叫Document,目錄格式為Pages\AJaxTest
4.在Pages\AjaxTest下建立cs文件AJaxForm.cs,添加如下方法
//[Ajax.AJaxMethod]
[Ajax.AjaxMethod(AJax.HttpSessionStateRequirement.Read)]
public static string GetNIVNumber(string str)
{
return str;
}
5.在Pages\AjaxTest下建立頁面AJaxForm.ASPx
//*********Html代碼
<Html>
<HEAD>
<title>AJaxForm</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio .Net 7.1">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClIEntScript" content="JavaScript">
<meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5">
<script language="Javascript">
function testAJax(owner, item, evt)
{
var first=document.getElementById("txtfirst");
AJaxMethod.GetNIVNumber(first.value,callback_GetNIVNumber);
}
function callback_GetNIVNumber(res)
{
var obj=document.getElementById("txtsecond");
obj.value=res.value;
}
</script>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<INPUT style="Z-INDEX: 101; LEFT: 208px; POSITION: absolute; TOP: 40px" type="button" value="Button"
onclick="testAJax();">
<asp:TextBox id="txtfirst" style="Z-INDEX: 102; LEFT: 40px; POSITION: absolute; TOP: 40px" runat="server"></ASP:TextBox>
<asp:TextBox id="txtsecond" style="Z-INDEX: 103; LEFT: 40px; POSITION: absolute; TOP: 72px" runat="server"></ASP:TextBox>
</form>
</body>
</Html>
//********cs代碼
protected System.Web.UI.WebControls.TextBox txtfirst;
protected System.Web.UI.WebControls.TextBox txtsecond;
private void Page_Load(object sender, System.EventArgs e)
{
//注冊,其中Document.Pages.AjaxTest.AjaxMethod為AJaxMethod.cs方法所在的命名空間
Ajax.Utility.RegisterTypeForAjax(typeof(Document.Pages.AjaxTest.AJaxMethod));
}
然後運行就可以了,
實現效果:在第一個textbox中輸入內容,點擊button,就把內容顯示到第二textbox中。這只是一個簡單的示例,還可以修改調用方法,從數據庫讀取以及更復雜的操作

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved