2010-12-20 40 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] + "'" 
});