【问题标题】:Zend 1 ajax with dojo informatiom personZend 1 ajax 与 dojo 信息人
【发布时间】:2015-12-02 13:04:33
【问题描述】:

我正在使用 Zend 1 和 dojo,但不知道如何使用 ajax。在我的特定情况下,选择选择时,是否从数据库信息咨询AJAX。要输入用户的 ID,请通过 ajax 打印用户的信息。在我的工作中,我不能使用 jquery。

【问题讨论】:

    标签: ajax zend-framework dojo


    【解决方案1】:

    好问题! 使用 dojo 不是很有成效的工作,但可以完全按照您的意愿进行。您将使用数据库中捕获的信息创建 p 元素

    在您的表单中,添加属性“onChange”

    $form->setAttrib('onChange', 'recoveryData()');
    

    在 js 文件中是否有一个函数 recoveryData(),例如:

    dojo.require("dojo.html");
    
    // clean data
    var myNewElement = dojo.byId('myNewElement');
    if (myNewElement != null) { 
        dojo.empty("myNewElement"); 
    }
    
    dojo.xhrPost({
        content: {id: dojo.attr(dojo.byId("myElement"), "value")},
        url: 'your-base-path/recovery-data/',
        load: function (response) {
            if (response != false) {
                // converte to obj
                var obj = dojo.fromJson(response);
    
                // creat new element
                var node = dojo.create("span", {
                        innerHTML: obj.NomeServidor,
                        id: "myNewElement",
                        'class': 'row'
                    }
                );
                dojo.place(node, dojo.byId("myElement"), "after");
            }
        }
    });
    

    现在,您需要在 Controller 中创建一个 Action“recoveryDataAction()”,如下所示:

    $data = $this->getrequest()->getPost();
    $id = $data['id'];
    if ($this->getrequest()->isXmlHttpRequest()) {
        // disable layout
        $this->_helper->layout()->disableLayout();
        // disable view render
        $this->_helper->viewRenderer->setNoRender();
    
        $yourTable = new Project_Model_YourTable();
        $row = $yourTable->fetchRow($id);
        if ($infos != null) {
            echo Zend_Json::encode($row);
            return;
        }
        echo false;
    }
    

    【讨论】:

      猜你喜欢
      • 2011-12-15
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-19
      相关资源
      最近更新 更多