- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 View ,其中有 3 个 div:
第 1 部分:带有复选框的品牌列表。第 2 部分:带有复选框的类别列表。
第 3 部分:项目列表。
最后一个 div 将根据前两个 div 中选择的内容刷新所有项目。一开始它显示所有项目,在我们选择一些品牌和/或类别并按刷新后,我要刷新 div 3。
在 Javascript 中,我可以获得选择哪些类别/品牌,我最大的疑问是如何刷新最后一个 div...
这就是我正在尝试的:
function refresh() {
var brands= /*<code where i get all the brands selected (this will be a js array)>*/
var categories = /*<code where i get all the categories selected (this will be a js array)>*/
<?php echo $ajax->remoteFunction(array('url' => array('controller' => 'items',
'action' => 'men', brands, categories),
'update' => 'itemsContent')); ?>
}
我的问题是:- 如何将 js 变量传递到 php 方法中?- 如何在 cakephp 操作中接收 js 数组?因为品牌和类别将用于过滤为 div 3 生成结果的查询...
最佳答案
您将无法在此处使用 $ajax
帮助程序,因为它仅输出一个静态脚本,无法在浏览器中的“运行时”更改/影响。它只是不是为比实际情况更复杂的东西而设计的。
所以,您必须编写自己的 JS,但这应该不那么难。您所需要的只是:
我会看一下 jQuery's AJAX functions完成#3。如果您以这样的格式发布数据,则可以在 Cake 中的 $this->data
中轻松访问它:
{
'data[ModelName][categories]' : categories,
'data[ModelName][brands]' : brands
}
关于您的问题:
"How do I pass the js vars into the php method?"
你不知道。 PHP 在服务器上运行,当 Javascript 在浏览器中运行时已经完成。 JS 和 PHP 之间唯一的“通信”是通过标准的 HTTP GET 和 POST 请求,并且请求是否来自标准浏览器、JS、Flash 或其他什么并不重要。
$ajax
帮助器只有一堆预制的 Javascript 片段,可以放入您的页面中,但您的 JS 将无法与 $ajax
以任何方式提供帮助。
关于javascript - 如何将 javascript var 传递到 ajax RemoteFunction 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2174356/
我是一名优秀的程序员,十分优秀!