jQuery ajax发布到rails app中的错误网址

时间:2010-12-20 06:58:55

标签: jquery ruby-on-rails ajax

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

我正在使用它将一些信息发布到rails应用程序。问题是它只是发布到应用程序控制器。

我如何才能获得该网址以便:controller => 'analytics', :action => 'test'

2 个答案:

答案 0 :(得分:9)

您的网址(analytics/test)的路径是相对的,这意味着它将附加到您正在使用的网址的“目录”中。例如。如果您从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] + "'"
});

答案 1 :(得分:2)

没有一个回答了解铁路和路线...至少这是我所假设的,因为没有人接近这个。

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

这就是答案:) - 让我很开心!两天才得到那个。

问题是因为网址。我在routes.rb中声明了:analytics,但是我没有正确的url,这就是rails如何处理特定RESTful路由中的路由。

使用上述代码的任何人都不应该使用html xml或其他任何东西,但你需要使用它作为文件扩展名而不是使用.json