ajax代理Proxy初步理解

來源:互聯網
上載者:User

這次只是初步瞭解Proxy,分析一個執行個體

我們先看一下一個js檔案:proxy.js

 (function(){<span style="white-space:pre"></span> Ext.onReady(function(){ <span style="white-space:pre"></span>Ext.define("person",{    extend: 'Ext.data.Model',     fields: [        {name: 'name', type: 'auto'},        {name: 'age',  type: 'int'},        {name: 'email',type: 'auto'}    ],    proxy:{ <span style="white-space:pre"></span>type:'ajax', <span style="white-space:pre"></span>url:'proxy.jsp'    } <span style="white-space:pre"></span>}); <span style="white-space:pre"></span> var p = Ext.ModelManager.getModel('person');    p.load(1, {    scope: this,    failure: function(record, operation) {        //do something if the load failed    },    success: function(record, operation) {        //do something if the load succeeded    <span style="white-space:pre"></span>alert(record.data.name);    },     callback: function(record, operation) {        //do something whether the load succeeded or failed   }});<span style="white-space:pre"></span> }) })();


然後再看看一個jsp檔案:Proxy.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%response.getWriter().write("{name:'uppcat.com',age:16,email:"wfc@163.com"}");%> 
這個JSP實際上是為前台提供資料的,這些資料可能是直接寫的JSON字串,也可能是從資料庫中取出來的值。一定要注意他的書寫格式。


在前台頁面的時候載入proxy.js

<script type="text/javascript" src="proxy.js">    </script>


分析,proxy.js分為了三個部分:1)建立一個person類

Ext.define("person",{

2)類的執行個體:  var p = Ext.ModelManager.getModel('person');

3)建立執行個體後調用load()方法

  var p = Ext.ModelManager.getModel('person');

我們看看這個函數load():

 p.load(1, {
    scope: this,
    failure: function(record, operation) {
        //do something if the load failed
    },
    success: function(record, operation) {
        //do something if the load succeeded
    alert(record.data.age);
    },
     callback: function(record, operation) {
        //do something whether the load succeeded or failed
   }


我們根據

Model建立類,然後我們用Ext.ModelManager.getModel('person');建立對應的執行個體,,查看Model類,用其中的load()方法來顯示資料
這個load有點意思:我們可能不理解recod是什麼東西,或者其它函數什麼內容,這個時候就要學會在瀏覽器中debug
以後我們就可以在js中負責擷取資料OK了,
 



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.