- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试在我的 Web 应用程序中创建一些 ajax 功能,但我无法让所有拼图 block 都适合:
我想添加一个链接,单击该链接将打开一个可由用户填写的新输入(文本)字段。在后端,我想对单击链接进行一些管理。
我想根据 Zend Framework 原则,使用 ajaxLink()
方法。谁能给我举个例子吗?我已阅读官方文档( ZendX_JQuery ),但它并不能完全帮助我。
我的前端( View )代码如下所示;
<?= $this->ajaxLink("Subscribe", $this->url(array('controller' => 'mycontroller', 'action' => 'action1', 'id' => $event['id'])),
array("beforeSend" => "hide",
"update" => "#pb_" . $event['id'],
'noscript' => false,
'method' => 'POST')); ?>
我的后端代码如下所示。
public function action1Action()
{
if( !$this->loggedIn || ! $this->athlete) {
$this->_redirect('index');
}
if(! $this->_request->isXmlHttpRequest())
{
//The request was NOT made with JS XmlHttpRequest
die;
}
// Do some administration
// (removed to make this easier in this example)
$pb = new Zend_Form_Element_Text('PB');
$pb->setLabel('PB:')
->addValidator('StringLength', false, array(0,20))
->setRequired(false);
$renderText = $pb->render();
return $renderText;
}
我不断收到错误消息,指出给定方法想要查找 action1.phtml View 脚本。我也不确定我尝试生成表单输入元素是否能以这种方式工作。
我在 this question 中找到了一些答案,但它不是那么优雅(需要链接中的额外参数,并且您需要另一个 Controller ),我不喜欢。
最佳答案
您需要关闭此特定操作的 ViewRenderer。默认情况下,ZF 启用名为 ViewRenderer 的操作助手,它将传统命名的 View 脚本(在您的例子中为 action1.phtml)分配给特定的操作方法。由于您只是尝试返回一小段文本,而不是完整的站点 View ,因此不需要完整 View 渲染。幸运的是,这很容易。
public function action1Action(){
$this->_helper->viewRenderer->setNoRender();
// the rest of your code
}
关于php - 后端如何在 Zend Framework 中查找 AjaxLink() 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/992400/
我是一名优秀的程序员,十分优秀!