首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >goog.net.XhrIo和Rails

goog.net.XhrIo和Rails
EN

Stack Overflow用户
提问于 2013-09-20 04:33:06
回答 1查看 210关注 0票数 0

我试图使用闭包库中的goog.net.XhrIo执行Ajax调用。我想在Post请求中发送一些参数,并将它们提供给Rails应用程序。这里是我的Ajax调用:

代码语言:javascript
运行
复制
goog.require('goog.net.XhrIo');
goog.require("goog.structs.Map");
goog.require("goog.Uri.QueryData");

function doRequest() {

    var request = new goog.net.XhrIo();

    var qd = goog.Uri.QueryData.createFromMap(new goog.structs.Map({
        title: "Test ajax data",
        content: "foo",
        param1: 70
    }));

    goog.events.listen(request, goog.net.EventType.COMPLETE, function(){
        console.log("Success!");
    });
    request.send('http://localhost:3000/some_method', 'POST', qd.toString());

}

然后在Rails中:

代码语言:javascript
运行
复制
def some_method
  @my_variable = ModelName.find(params[????])
end

问题是我不知道如何访问Rails应用程序中的参数。我甚至不确定我在做Post请求时,参数是很容易访问的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-22 10:12:22

我不确定这是最好的方法,但最终还是成功了。

JavaScript:

代码语言:javascript
运行
复制
goog.require('goog.net.XhrIo');
var updateQuizStats = function(result) {
    var request = new goog.net.XhrIo();
    goog.events.listen(request, goog.net.EventType.COMPLETE, function(){
        console.log("YES! YES! YES!");
    });
    request.send('http://localhost:3000/some_method/'+param1+'/'+param2);
}

Rails routes.rb:

代码语言:javascript
运行
复制
match '/some_method/:param1/:param2', :to => 'controller_name#some_method'

在主计长中:

代码语言:javascript
运行
复制
def some_method
  @my_variable = ModelName.find(params[:param1])
  @my_variable.update_attributes(:some_attribute => params[:param2])
end

如果有更好的方法的话。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18908859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档