【问题标题】:Cakephp 2.4.6 JsHelper / Ajax "id is not defined"Cakephp 2.4.6 JsHelper / Ajax“未定义ID”
【发布时间】:2014-03-13 10:37:02
【问题描述】:
<td class="process" id="<?php echo $process['Process']['id'] ?>">
    <?php echo $process['Process']['start']; ?> 
    <?php if (!is_null($process['Process']['end'])) : ?>
        - <?php echo $process['Process']['end']; ?>
    <?php endif; ?>
    <?php echo $process['InstallationEquipment']['Equipment']['name']; ?>
</td>

$this->Js->get(".process")->event('click', $this->JS->request(array(
  'controller'=>'lines',
  'action'=>'listed'), array(
    'update'=>'#conditions',
    'async' => true,
    'method' => 'post',
    'dataExpression'=>true,
    'data'=> '$(this).attr(id)'
  )));

你好,

如您所见,当我单击“进程”时,我尝试加载内容,但在'data'=&gt; '$(this).attr(id)' 上收到相同的消息,即“id 未定义”,但我确定已设置。

有人可以解释一下如何以好的方式做到这一点?

对不起,我的英语不好,感谢您的阅读。

【问题讨论】:

  • 你确定你检查了实际的 HTML 并且 id 在那里?
  • 是的,我查过了,我确定。

标签: javascript php ajax cakephp cakephp-2.4


【解决方案1】:

换行:

'data'=> '$(this).attr(id)'

到:

'data'=> '{id: $(this).attr("id")}'

【讨论】:

  • 谢谢,错误消失了,但我控制器中的函数得到一个空请求->数据。
  • 完美!感谢您的帮助!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多