我正在尝试在Web应用程序中实现某种Ajax功能,但无法满足所有难题的需要:
我想添加一个链接,单击该链接将打开一个可由用户填充的新输入(文本)字段。在后端,我要进行一些单击链接的管理。
我想根据Zend Framework的原则,使用ajaxLink()
方法。谁能给我一个例子?我已经阅读了官方文档(ZendX_JQuery),但并不能完全帮助我。
我的前端(视图)代码如下所示;
<?= $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视图脚本。我也不确定我如何尝试生成表单输入元素以这种方式工作。
我在this question中找到了一些答案,但这并不是那么好(我不喜欢它(在链接中需要一个额外的参数,并且您需要另一个控制器))。
参考方案
您需要为此特定操作关闭ViewRenderer。默认情况下,ZF启用名为ViewRenderer的动作帮助器,该操作器将常规命名的视图脚本(在您的情况下为action1.phtml)分配给特定的动作方法。由于您只想返回一小段文本,而不是完整的站点视图,因此不需要全视图呈现。幸运的是,这很容易。
public function action1Action(){
$this->_helper->viewRenderer->setNoRender();
// the rest of your code
}
完整的文档在这里:
http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.viewrenderer
我正在为casperjs使用php包装器-https://github.com/alwex/php-casperjs我正在网上自动化一些重复的工作,我需要访问一个项目的innerText,但是我尚不清楚如何从casperjs浏览器访问dom。我认为在js中我会var arr = document.querySelector('label.input…
php getdate()-小时不正确 - php我在iframe中将php用于计数器。我正在使用getdate();功能。我的当地时间不是下午12:16,如果我使用getdate();从php获取现在的本地时间,小时显示为13。我从php getdate()回答的值应该不是12吗?$d1=getdate(); $hournew=$d1['hours']; echo $hournew .…
twilio'未知上下文帐户 - php我正在尝试通过Twilio和Php发送一条简单的SMS,但是出现此致命错误, 未捕获的异常“ Twilio \ Exceptions \ TwilioException”,带有消息 的“未知上下文帐户” C:\ xampp \ htdocs \ Twilio \ vendor \ twilio \ sdk \ Twilio \ Rest \ Client.p…
php:是否有充分的理由引用所有数组键/索引? - php我正在遍历别人的代码,他们总是避免转义其数组键。例如:$ row_rsCatalogsItems [名称]代替$ row_rsCatalogsItems ['名称']因此,我不断地对自己接触的所有事物进行微小的更改,以应对这些惰性。但是现在我想知道这样做是否有很多好处。我得到它会在默认为字符串之前检查常量(我在处理常量时会讨厌php中的行为,因为即使未定义,…
CakePHP将数据传递到元素 - php我的控制器中有以下代码:function index() { $posts = $this->set('posts', $this->Portfolio->find('all')); if (isset($this->params['requested'])) { retur…