当前位置: 代码迷 >> Web前端 >> Dojo-API引见
  详细解决方案

Dojo-API引见

热度:118   发布时间:2012-08-26 16:48:06.0
Dojo-API介绍
Dojo-API介绍

?? ? ? ?网上的关于Dojo的文章很多,我从项目经历上阐述自己的一些用法、示例,仅供参考。Dojo是一个强大的面向对象JavaScript框架。主要由三大模块组成:Core、Dijit、DojoX。Core提供Ajax,events,packaging,CSS-based querying,animations,JSON等相关操作API。Dijit是一个可更换皮肤,基于模板的WEB UI控件库。DojoX包括一些创新/新颖的代码和控件:DateGrid,charts,离线应用,跨浏览器矢量绘图等。


?? ? ??-------获取dojo相关对象-----------

?? ? ? 1.dojo.byId() :等同于?document.getElementById(),根据DOM节点的ID获取该节点DOM对象。

?? ? ? 2.dijit.byId()?:?是获取由dojo widget 系统创建的对象,然后你可以调用这个这个对象的方法或改变这个对象的属性。


?? ? ? -------dojo监听事件-----------

?? ? ? 3.dojo.connect() :为前端操作创建事件监听器.

               /* Set up a connection */
               dojo.connect(/*Object|null*/ obj,
                                  /*String*/ event,
                                 /*Object|null*/ context,
                                /*String|Function*/ method) // Returns a Handle

?? ? ??4. dojo.disconnect(/*Handle*/handle);?? 解除注册监听器?/* Tear down a connection */


?? ? ? --------dojo的json处理----------

?? ? ? 5.dojo.fromJson(/*String*/ json) //把json string转化为json object

?? ? ? 6.dojo.toJson(/*Object*/ json, /*Boolean?*/ prettyPrint) //把json?object转化为json?string.

?

     var o = {a:1, b:2, c:3, d:4};
    dojo.toJson(o, true); //pretty print
    /* produces ...
    '{
    "a": 1,
    "b": 2,
    "c":3,
    "d":4
    }'

?

?? ?-------dojo的ajax操作-----------

?? ? ? ?7.dojo.xhrGet(/*Object*/args) ?:ajax的GET提交

      dojo.addOnLoad(function( ) {
                  dojo.xhrGet({url : "someText.html", //the relative URL
                // Run this function if the request is successfulload : 
                 function(response, ioArgs) {
                       console.log("successful xhrGet", response, ioArgs);
                      dojo.byId("foo").innerHTML= response;   //always return the response back
                  },
                  // Run this function if the request is not successfulerror :
                 function(response, ioArgs) {
                    console.log("failed xhrGet", response, ioArgs);}
               });
         });

?? ? ? ?8.dojo.xhrPost(/*Object*/args)?:ajax的POSt提交,支持text、json、xml等提交形式。

    dojo.xhrPost({
         url : "/place/to/post/some/raw/data",
         postData : "{foo : 'bar'}", //a JSON literal
         handleAs : "json",
         load : function(response, ioArgs) {
                 /* Something interesting happens here */
               return response;
         },
       error : function(response, ioArgs) {
           /* Better handle that error */
            return response;
       }
    });

? ? ? ?
??Dojo Ajax reference:
??