gpt4 book ai didi

jquery - 如何在 javascript 中构建哈希并将其发布到服务器

转载 作者:数据小太阳 更新时间:2023-10-29 08:49:45 24 4
gpt4 key购买 nike

我正在使用 ruby​​ + sinatra 构建一个 RESTful 网络应用程序。数据存储在 MongoDB 数据库中,我使用 MongoMapper 来执行此操作。

我的一个模型有一个嵌套的散列键:

{'Key' => {'ObjectA_id' => ['ObjectB1_id', 'ObjectB2_id', ... , 'ObjectBn_id']}}

如您所见,它是一个散列,其键是一个字符串,值是另一个映射对象 ID 数组的散列*(我们称模型为 Model B ) 到 Model A 的 ID。

*(实际上这些在技术上也是字符串,因为您不能在哈希中存储真实的 BSON ObjectID)

问题是我不知道如何开始将这些数据发送到服务器。通常我使用这样的形式:

<form action="/create" method="post">
<input type="text" name="myField"/>
<input type="submit"/>
</form>

在服务器端,我可以使用以下代码访问用户在 myField 中填写的任何内容:

post '/create' do
myField = params[:myField]
end

问题显然是我永远无法仅使用 HTML 表单来完成此操作,所以我想知道:我该如何解决这个问题?我在想 javascript/jquery,但后来我想知道:

  1. 如何在 javascript/jquery 中模拟哈希?
  2. 如何将它与其他表单数据一起发送?
  3. 如何在服务器上访问它,它会是什么样子?

最佳答案

看看使用JSON .它旨在将基本 JavaScript 对象序列化为一个字符串,使您可以轻松地将它们从一个应用程序发送到另一个应用程序,通常是通过 HTTP。所有主要语言都有 JSON 解析器,因此它是一个很好的数据传输工具,无论应用程序是用什么编写的。Ruby 有一个很好的实现,并且非常有用的“JSON implementation for Ruby”页面展示了如何使用它:

require 'json'

hash = {'foo' => 'bar'}
serialized_hash = hash.to_json # => "{\"foo\":\"bar\"}"
JSON.parse(serialized_hash) # => { "foo" => "bar" }

JSON 还允许您向它抛出一个对象,并获取一个序列化字符串,或者一个序列化字符串并获取一个对象,因此您可以将上述所有内容缩小为类似这样的内容,显示一个完整的序列化/解析:

JSON[JSON[hash]] # => { "foo" => "bar" }

除了数组、散列、字符串和整数之外,您还可以序列化 Ruby 对象:

require 'json/add/core'
JSON[/foo/] # => "{\"json_class\":\"Regexp\",\"o\":0,\"s\":\"foo\"}"

要发送数据,请查看使用 Open::URI、RestClient、Typhoeus、Curb 或许多 Ruby HTTP 客户端中的任何一个。

关于jquery - 如何在 javascript 中构建哈希并将其发布到服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16039461/

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