Ajax AND JSON

Asynchronous JavaScript and Xml異步的JavaScript和XML。

指的是:使用XMLHttpRequest對象異步地向服務器發請求。服務器返回部分數據。實現,頁面無刷新的改變局部內容。

  <script type="text/javascript">
    //創建XMLHttpRequest
    function getXhr(){
      var xhr;
      if(window.XMLHttpRequest){//如果支持該類型
         xhr = new XMLHttpRequest();
      }else{//ie
         xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
      return xhr;
    };
    //發送HTTP請求
    function sendRequest(){
      var xhr = getXhr();//獲取XMLHttpRequest對象
      xhr.open("GET","/ajax01/demo1.do?name=value&name=value");//創建一個HTTP請求
      //註冊一個回調函數,請求處理時自動調用
      xhr.onreadystatechange = function(){
        if(xhr.readyState==4 xhr.status==200){//4表示請求處理完畢
          //獲取服務器返回的信息
          var msg = xhr.responseText;
          //將消息放到id=msg的span顯示
          document.getElementById("msg").innerHTML=msg;
        }
      };
      xhr.send(null);//發送HTTP請求
    };
  </script>
  <script type="text/javascript">
    //檢查用戶名是否可用
    function checkname(){
      //獲取請求參數
      var name = 
         document.getElementById("username").value;
      //發送ajax請求
      var xhr = getXhr();//獲取XMLHttpRequest對象
      xhr.open("POST","/ajax01/check.do");//創建請求
      xhr.setRequestHeader("content-type",
        "application/x-www-form-urlencoded");//給HTTP協議設置請求頭參數
      xhr.send("name="+name&"password="+password);//發送請求
    }
  </script>

<pre class="code sh_javascript snippet-formatted sh_sourceCode"><li>$<span class="sh_symbol">.</span><span class="sh_function">ajax</span><span class="sh_symbol">(</span><span class="sh_cbracket">{</span></li><li>                    url<span class="sh_symbol">:</span><span class="sh_string">"test.do"</span><span class="sh_symbol">,</span></li><li>                    type<span class="sh_symbol">:</span><span class="sh_string">"post"</span><span class="sh_symbol">,</span>                    </li><li>                    dataType<span class="sh_symbol">:</span><span class="sh_string">"json"</span><span class="sh_symbol">,</span></li><li>                    data:{"name":"kk","pw":"123"},</li><li>                    success<span class="sh_symbol">:</span><span class="sh_keyword">function</span><span class="sh_symbol">(</span>data<span class="sh_symbol">)</span><span class="sh_cbracket">{</span></li><li>                        </li><li>                    <span class="sh_cbracket">}</span><span class="sh_symbol">,</span></li><li>                    error<span class="sh_symbol">:</span><span class="sh_keyword">function</span><span class="sh_symbol">()</span><span class="sh_cbracket">{</span></li><li>                        <span class="sh_comment">//服務器出錯之後的處理邏輯。</span></li><li>                    <span class="sh_cbracket">}</span></li><li>                <span class="sh_cbracket">}</span><span class="sh_symbol">);</span></li>




GET請求出現亂碼:

1、在tomcat下conf/server.xml文件中,修改<Connector URIEncoding="utf-8">,使得tomcat按utf-8方式解碼。

2、使用endodeURI對請求地址進行編碼。xhr.open('get',encodeURI(uri),true);


JSON輕量級的數據交換格式。

JSON對象轉換爲javaScript對象。

var str=‘{"name":"kk","pw":"123"}’;

1、var obj = eval("("+str+")");
2、var obj = JSON.parse(str);
3、var obj = str.parseJSON();
alert(obj.name);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章