2011-01-30 119 views
1

我正在使用Rails 3和JQuery。

我有两个变量,我想从我的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中我已经改变页/搜索搜索所以它不应该是一个问题)

谢谢

+0

尝试添加一个错误()处理程序,以便您可以查看它是否404ing/500ing – jamiew 2011-01-30 17:36:04

回答

0

为什么你希望你的变量会被分配如果你在成功回调函数中没有做任何事情?

如果执行成功功能,则意味着响应该URL的方法(带有GET请求)已被调用,并且已返回作为响应(也可能仅仅是empy HTTP 200)。

如果我是你,我会对你的控制器方法返回,并就如何在您需要的情况下用它看看(FI返回JSON,并用它在某种程度上/渲染一些JS ......)

+0

问题是,当我获取变量值时,我使用方法来设置变量值。然后,每当我的页面被渲染时,视图本身就会注意到这些值已经改变,并在页面上写入不同的值。 我认为如果控制器操作仍然不被调用,那么从控制器尝试渲染某些东西是没有意义的。 – Adas 2011-01-30 17:40:38