2010-12-20 49 views
0
$.ajax({ 
type: "POST", 
url: "analytics/test", 
data: 'correct=' + correct_or_incorrect + '&id=' + correctCharacter[3] + "'" 
}); 

我正在使用它將一些信息發佈到rails應用程序。問題在於它只是發佈到應用程序控制器。jQuery ajax在rails應用程序中發佈錯誤的url

我怎樣才能得到它,以便該URL並主張以:controller => 'analytics', :action => 'test'

+0

我覺得你的報價有點亂了那裏。 – sje397 2010-12-20 07:01:27

+0

怎麼這樣?他們工作得很好 – s84 2010-12-20 07:02:53

+0

對於'data',你會得到'correct = true&id = X''這樣的後綴單引號。您在該字符串中使用單引號和雙引號會讓人的眼睛受傷。 – 2010-12-20 07:14:53

回答

2

沒有一個答案知道軌道和路線......至少這是我所假設的,因爲沒有人接近這個。

$.ajax({ 
    url: '/analytics.json', 
    type: 'POST', 
    dataType: 'json', 
    success: 'success' 
}); 

這就是答案:) - 讓我很開心!兩天得到那一個。

問題是由於url。我在routes.rb中聲明瞭:analytics,但我沒有正確的url,這就是rails如何處理路由,特別是RESTful路由。

任何使用上面的代碼不應該,他們可以使用HTML或XML什麼,但你需要使用的文件擴展名,而不是使用以.json

+0

上面的答案'url:「/ analytics/test」'是否適合你? – 2015-01-20 06:46:29

8

的路徑您的網址(analytics/test)是相對的,這意味着它會被附加到你工作的URL的「目錄」。例如如果你打電話給http://yourhost.com/analytics/demo,你會打電話http://yourhost.com/analytics/analytics/test,你可能不想。

添加一個斜槓到開頭(所以你得到/analytics/test),你很好。

$.ajax({ 
    type: "POST", 
    url: "/analytics/test", 
    data: 'correct=' + correct_or_incorrect + '&id=' + correctCharacter[3] + "'" 
});