我正在尝试使用opal-jquery将值发布到服务器,但我没有取得多大成功。如果我尝试发帖,我什么也得不回来。 Get以低于有用的字符串为我提供值。
以下是浏览器的控制台输出:
[Log] {"values"=>"10:30 AM, 11:30 AM, 12:30 PM, 1:30 PM, 2:30 PM, 3:30 PM"} (opal.min.js, line 7)
这是服务器的控制台。第一个是帖子,第二个是获取。帖子是空的。
{}
{
"{\"values\"" => ">\"10:30 AM, 11:30 AM, 12:30 PM, 1:30 PM, 2:30 PM, 3:30 PM\"}"
}
浏览器端代码:
<script type="text/ruby">
Document.ready? do
puts 'Document ready'
Element.find('#setTimeButton').on :click do |e|
e.stop
e.prevent
p values = {values: "#{Element.find('#tourtime1').value}, #{Element.find('#tourtime2').value}, #{Element.find('#tourtime3').value}, #{Element.find('#tourtime4').value}, #{Element.find('#tourtime5').value}, #{Element.find('#tourtime6').value}"}
HTTP.post("/tour-submit-post", payload: values)
HTTP.get("/tour-submit?#{values}")
end
end
服务器端代码:
post "/show-submit-post", response_type: :json do |request|
mp request.params
{a: 1, b: 2}
end
get "/tour-submit" do |request|
mp request.params
{a: 1, b: 2}
end
答案 0 :(得分:0)
在GET中,您传递了一个在URL字符串中插入的Hash实例,这意味着正在将其转换为带有.to_s的字符串,因此服务器端sinatra会尝试将params拆分为等号,即在哈希火箭中发现(&#34; =&gt;&#34;)。
对于POST,我建议检查浏览器调试工具以查看请求是否正确发送,然后检查.params是否是从请求中获取POST数据的正确方法。