如何解決Ajax中文亂碼問題_AJAX教程

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

      推薦:AJAX教程之AJAX的jQuery實現入門(一)
      Ajax在網上已經叫喊了好幾年了, 但是還是有很多像我這樣的新手沒掌握它, 像這樣能改善交互體驗的技術不會用真是很遺憾呢. 所以我就把我學到的記錄下來,供高手指正,新手共勉. 首先,稍微掃掃盲: AJAX = Asynchronous JavaScript And XML , 這里有三個關鍵詞: A

      網上有很多解決這個問題的方法,試了一下都不好用,自己就對于這些方法測試了一下,然后逐個排除無用的設置,最后得到了最簡單的方案。


      js代碼:
      得到XmlHttpRequest的類
      Code
      1function HttpRequest()
      2{
      3 //取得Request對象
      4 this.Request=function(){
      5 try
      6 {
      7 if(window.XMLHttpRequest) request=new XMLHttpRequest();
      8 if(!request)request=new ActiveXObject("Microsoft.XMLHTTP");
      9 if(!request)request=new ActiveXObject("Msxml2.XMLHTTP");
      10 return request;
      11 }
      12 catch(e)
      13 {
      14 alert("不支持XMLHTTPRequest");
      15 }}
      16}調用過程:
      Code
      1<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="AjaxTest._Default" %>
      2
      3<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      4<html xmlns="http://www.w3.org/1999/xhtml">
      5<head runat="server">
      6 <title>Untitled Page </title>
      7
      8 <script language="javascript" type="text/javascript" src="User.Base.js"></script>
      9
      10 <script language="javascript" type="text/javascript">
      11 function Check()
      12 {
      13 var request=new HttpRequest().Request();
      14 request.onreadystatechange=function (){
      15 if(request.readyState==4)
      16 {
      17 if(request.status==200)
      18 {
      19 alert(request.responseText);
      20 }
      21 else
      22 {
      23 alert(request.responseText);
      24 }
      25 }
      26 }
      27 var value=document.getElementById("val").value;
      28 request.open("POST","Default.aspx?Value="+value,true);
      29 //設置防止亂碼的方法,只要一句話就行
      30 request.setRequestHeader("Content-Type","text/html;charset=gb2312");
      31 request.send(null);
      32 }
      33 </script>
      34
      35</head>
      36<body>
      37 <form id="form1" runat="server">
      38 <div>
      39 <input id="val" type="text" onblur="Check()" />
      40 </div>
      41 </form>
      42</body>
      43</html>
      44后臺取得輸入值:
      protected void Page_Load(object sender, EventArgs e)
      {
      string value = Request["Value"];
      }
      測試過,可以得到正確的輸入字符。

       

      分享:AJAX教程之AJAX的jQuery實現入門(二)
      要寫入數據庫,我們知道的最簡單的就是注冊了, 就做個最簡單的注冊表單, 看看是如何提交數據的. 我們先寫如下的html代碼,三個文本框,一個按鈕: p昵稱:input type=text name=username id=sname //p p密碼:input type=text name=password id=spwd /

      來源:模板無憂//所屬分類:AJAX教程/更新時間:2010-02-11
      相關AJAX教程