gpt4 book ai didi

javascript - ROR 中的 POST 参数无法访问,但在控制台中可见

转载 作者:行者123 更新时间:2023-11-28 20:33:16 24 4
gpt4 key购买 nike

我正在使用 jquery ajax 调用将一些数据发布到我的 ROR 应用程序

我已经将这部分简化为硬编码,以便我可以让它工作

var testjson = '{"company": {"name": "acme", "address": "123 carrot street"}}';

$.ajax({
type: "POST",
dataType: "JSON",
url: 'http://localhost:3000/home/scoring/' + 1234 + "/update",
data: datas,
success: function(){
alert('success');
}
});

当它到达正确的 Controller 时,我可以访问查询字符串“1234”,它被称为 match_id(在路由文件中)

  match "home/scoring/:match_id/update" => "home#update"

但是我无法访问 POST 元素,我的根元素“company”应该可以作为 params[:company] 访问,但它只是返回 nil

查看控制台,我可以看到数据正在向上传递

Started POST "/home/scoring/1365750000348629332744/update" for 127.0.0.1 at 2013-04-11 00:43:45 +0100 Processing by HomeController#update as JSON Parameters: {"{\"company\": {\"name\": \"acme\", \"address\": \"123 carrot street\"}}"=>nil, "match_id"=>"136575000034 8629332744"}

虽然“=>nil”有点令人担忧(为什么它是nil?)我无法找到为什么这会导致我出现这样的问题。

最佳答案

您将一个已经编码的字符串传递给 jQuery,然后 jQuery 再次对其进行编码。

您只需将数据存储为实际的 JavaScript 哈希值,而不是字符串...

var testjson = {"company": {"name": "acme", "address": "123 carrot street"}};

... jQuery 将为您将其编码为 JSON。目前,您的 params 包含一个键,该键是字符串 "{"company": {"name": "acme", "address": "123 carrot street “}}”,映射到 nil 的值。

关于javascript - ROR 中的 POST 参数无法访问,但在控制台中可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15938523/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com