2011-01-30 47 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

相關問題