【问题标题】:passing data to the controller through ajax from view通过 ajax 从视图将数据传递给控制器
【发布时间】:2013-04-09 23:12:03
【问题描述】:

我有一个页面

http://www.mysite.com/discusssion/name_of_topic/page:1

单击此视图中的按钮时,我想将参数(即 url)重定向到控制器并获取数据。 网址是: http://www.mysite.com/discusssion/name_of_topic/page:2

我正在编写一个 ajax 函数来调用控制器并获取数据,但这对我不起作用。这是我的ajax函数

$("#loadbut").click(function() {
    $.ajax({
        type: "POST",
        url : "/discussion/"+$topic+"/page:2",
        data: data,
        dataType: "json",
        success: function (response) {
            if (response.success) {
                pr(data);
                exit();
            } else {
                console.log(response.data, response.code);
            }
        }
    });

});'

我怎样才能做到这一点,有什么想法吗??

【问题讨论】:

    标签: ajax controller pagination cakephp-2.0


    【解决方案1】:

    我会尝试的几件事

    1. 假设你拥有的代码是 1:1,添加
    2. 安装或使用类似 firebug 的工具来查看发出的请求。检查地址是否正确。
    3. 确保您的控制器操作按预期工作。它真的返回一个有效的 json 响应吗?

    在没有更多信息的情况下,我能提供的帮助就差不多了。

    【讨论】:

      【解决方案2】:

      您需要澄清/做的几件事:

      1. 这个$topic变量,你在哪里定义的?是php吗?如果是这样,你把它和js混在一起,它应该是url : "/discussion/<?=$topic?>/page:2"
      2. 回复中有pr(data);exit;,又是那个php吗?
      3. 检查 ajax 发出请求的 url,可以使用 firebug(或类似的东西)或console.log(url) 来查看它的去向。
      4. 如果你在浏览器中执行ajax url(在地址栏中输入::your_url::/discusion/::name_of_topic::/page:2),你得到的答案是什么您期待 ajax 请求

      如果您不告诉我们您收到什么样的错误,就很难知道问题所在。没有任何显示器就不能工作吗?萤火虫说什么?

      【讨论】:

      • $topic 是我从控制器传递给视图的变量。而这个 pr(data);exit;没什么,它只是检查是否调用了 ajax 函数。而且我的 ajax 函数不起作用。
      • 是的,这很清楚,但它是一个php变量,你在js函数中使用它,这是为什么呢?
      • 我想创建一个 URL,为此我需要 $topic 变量
      • 但它是一个 php 变量,要在 js 中使用它,您必须像我在答案中指出的那样调整代码。和 pr() 并退出;一定要去,否则你会有js错误。如果你继续像这样混合 php 和 js,那么这个函数就无法工作
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多