1

我正在使用带有 JQuery 的 Rails 3。

我有两个变量,我想将它们从我的 javascript 代码发送到控制器并渲染我的视图,以便它们具有变量的新值。

我在 javascript 中的请求如下所示:

function sendGPToServer(title, address) 14     {
      var dataString = 'name=' + title + '&address=' + address;
      $.ajax({
          type: "GET",
          url: "/search",
          data: dataString,
          success: function() {
              alert("succeeded!");
          }
      });

在页面控制器(搜索操作所在的位置)中,我有

protect_from_forgery :except => [:search]

所以应该不是安全问题。

我得到了“成功!” 消息,但没有调用搜索。但是,如果我手动重新加载主页,变量的值会根据我的需要填写到我的网站页面中。

有谁知道为什么会发生这种情况?可能是因为我的 javascript 包含在我的 html 布局的标题中吗?

(另外:在 routes.rb 中我已将pages/search更改为search,所以这应该不是问题)

谢谢

4

1 回答 1

0

如果您在 sucess 回调函数中不做任何事情,为什么您期望您的变量被分配?

如果您执行了成功函数,则意味着响应该 URL(带有 GET 请求)的方法已被调用,并且它已返回一些响应内容(可能也只是一个 empy HTTP 200)。

如果我是你,我会看看你的控制器方法返回什么以及如何在你需要的情况下使用它(fi返回json并以某种方式使用它/渲染一些js ...)

于 2011-01-30T17:36:07.957 回答