cakephp - ajax 请求和操作“编辑”不能同时工作
Posted
技术标签:
【中文标题】cakephp - ajax 请求和操作“编辑”不能同时工作【英文标题】:cakephp - ajax request and action 'edit' does not work in simultaneous 【发布时间】:2013-05-18 21:36:56 【问题描述】:我正在使用 ajax ($this->Js->get) 选择任何下拉列表的元素,然后填充其他下拉列表。但是,我在 form->create('User') 中有这些下拉列表。
所以,如果我使用 form->create(false) 我的操作 'edit' 不起作用...另一方面,如果我使用 form->create('User') 我的 'ajax' 不起作用。
<?php echo $this->Form->create('User', array('action' => 'edit')); ?>
<table>
<tr>
<th>PROJECT</th>
<th>VERSION</th>
</tr>
<tr>
<td> <?php
echo $this->Form->select('projects', array($projects), array('multiple' => false,
'class' => 'span2',
'id' => 'projectsTest'));
?>
</td>
<td>
<?php
echo $this->Form->select('projectversions', array($projectversions), array('multiple' => false, 'class' => 'span2',
'id' => 'projectversionsTest'));
?>
</td>
</tr>
</table>
<?php echo $this->Form->button('ALTERAR', array('type' => 'submit', 'class' => "btn btn-info pull-right")); ?>
<?php
$this->Js->get('#projectsTest')->event('change', $this->Js->request(array(
'controller' => 'ProjectVersions',
'action' => 'getVersionsofProject'
), array(
'update' => '#projectversionsTest',
'async' => true,
'method' => 'post',
'dataExpression' => true,
'data' => $this->Js->serializeForm(array(
'isForm' => true,
'inline' => true
))
)));
echo $this->Form->end();
?>
我该如何解决这个问题?
提前感谢:)
【问题讨论】:
我使用的是 2.3。但我正在使用 Js Helper 在“添加”操作中做同样的事情并且它有效:) 【参考方案1】:这不应该工作吗?
echo $this->Form->create(null, array(
'url' => array('controller' => 'users', 'action' => 'edit')
));
【讨论】:
不起作用 :( 编辑操作有效,但 js helepr (ajax) 不起作用。它传递的数组 'post' 始终为空。js helper (ajax) 有效,但他不能获取项目的id并通过邮件发送。以上是关于cakephp - ajax 请求和操作“编辑”不能同时工作的主要内容,如果未能解决你的问题,请参考以下文章
php [cakephp:API组件和控制器]用于ajax请求和Server-Sent事件的Cake模块。 #cakephp
Cakephp 3.4 AJAX 请求抛出 403 禁止错误
PatchEntity 在 Cakephp 3.0 中忽略来自 ajax 请求的数据
如何在 Cakephp 3 的 ajax 调用中定义 CSRF 令牌。此外,对于某些 ajax 请求,如何关闭 CSRF