Zend 1 ajax with dojo information person
Zend 1 ajax with dojo informatiom person
我正在使用带 dojo 的 Zend 1,但不知道如何使用 ajax。在我的特殊情况下,当 selecting 一个 select 时,是否从数据库中查询 ajax 返回的信息。要输入来自用户的 ID,请按 ajax.In 打印来自用户的信息 我的工作 我不能使用 jquery。
好问题!
使用 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");
}
}
});
现在,您需要在控制器中创建一个 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;
}
我正在使用带 dojo 的 Zend 1,但不知道如何使用 ajax。在我的特殊情况下,当 selecting 一个 select 时,是否从数据库中查询 ajax 返回的信息。要输入来自用户的 ID,请按 ajax.In 打印来自用户的信息 我的工作 我不能使用 jquery。
好问题! 使用 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");
}
}
});
现在,您需要在控制器中创建一个 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;
}