gpt4 book ai didi

javascript - 如何将 javascript var 传递到 ajax RemoteFunction 中?

转载 作者:行者123 更新时间:2023-11-28 16:38:55 25 4
gpt4 key购买 nike

我有一个 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,但这应该不那么难。您所需要的只是:

  1. 一个 Cake 操作,根据收到的数据输出项目列表(应该不难)
  2. 一些 JS 可以确定选择了哪些品牌和类别(您已经拥有)
  3. 另一段 JS 打包该数据并将其发送到 Cake 操作
  4. 另一段 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com