「+」記号を含む投稿データがあります。サーバーに送信すると、生のポストデータに '+'記号が表示されますが、ポストデータがparamハッシュに変換されると、 '+'記号は空白に変換されます。どのようにそれをしないようにするためのアイデア?Rails: '+'の投稿データが空白に設定されています
0
A
答えて
1
+を%2Bに置き換えてください。
1
なぜ起こっているのかわかりません。通常+記号はパラメータに通します。あなたのレールバージョンを投稿できますか?また、 "+"記号、またはそのCGI相当の "%2B"記号をエスケープして、違いがあるかどうか確認してください。
2
'+'記号を '%2B'に置き換えると、問題が解決するはずです。
ただし、アンパサンド、パーセント記号などの文字も確認する必要があります。あなたの投稿データを受け取っているサーバーはおそらくURLエンコードされたデータを期待しています。
簡単に言えば、%記号を%25に置き換えた場合は、&を%26に置き換えます。 %3Fで、#を%23で置き換え、+記号を%2Bで置き換えます。遭遇する可能性のある問題のほとんどをカバーします。
これらのリンクには、より詳細な置換えリストがあります。
0
Rubyはありますが、文字を把握する必要がありませんので、あなたのためのすべてのこれを処理するために呼び出す自分
'URI'
URLを要求= http://www.google.com?a=thisはテストです URI.escape(URL、Regexp.new( "[^#{URI ::パターン::未保存}]"))
2
はあなたのためにこれを行います標準ライブラリのCGI.escape方法を見てください:
irb(main):001:0> require 'cgi' => true irb(main):002:0> CGI.escape 'foo+bar&baz?qux quux/corge' => "foo%2Bbar%26baz%3Fqux+quux%2Fcorge"
あなたが戻って変換する必要があるのCGI.unescape方法もあります。
関連する問題
- 1. Rails ajax投稿応答が定義されていません
- 2. 私のブログ投稿ページの投稿コメントが空白の場合
- 3. 投稿後のフォームの値が空白
- 4. Devise Flashメッセージが最初の投稿に設定されていません
- 5. 投稿フォームに投稿されたデータ
- 6. October CMS:blogpostsコンポーネントに設定されていない投稿のURL
- 7. Swift 3コンテンツタイプが設定されていると、投稿要求のデータが送信されません。
- 8. データがMYSQL DBに投稿されていませんか?
- 9. コメントが投稿された後、投稿にリダイレクトされます
- 10. jQueryフォームは、投稿時に空白のページを返します
- 11. PHPの投稿データが送信されていません
- 12. jQuery/AJAXのデータが投稿されていません
- 13. ajax-jqueryで投稿すると文章が空白になる+
- 14. PHP投稿データが受信されていません
- 15. レンダリングされたフォームがデータを投稿していません
- 16. ドロップダウンボックスに空白/空白が含まれています
- 17. 投稿に投稿したときに私のブログ投稿の項目が空白になっているのはなぜですか?
- 18. 空白はNonEmptyセットのサブセットに設定されていますか?
- 19. 余白が0に設定されている場合、余白が空白になる
- 20. Railsの問題がusers_controllerに投稿されました。
- 21. Wordpressの投稿ページに投稿リストが表示されていません
- 22. railsコントローラのajaxから投稿されたjsonデータへのアクセス
- 23. html PHPがフォーム投稿データを特定しています
- 24. DataGridでTreeViewのSelectedItemChangedに空白行が設定される
- 25. CakePHP:投稿されたファイルデータがリクエスト - >データに含まれていません
- 26. PHPの特定の投稿にコメントを付けます。投稿IDはURLに記載されています
- 27. Wordpress/MySQL - >特定の投稿の投稿者によって投稿された投稿の総数とともに投稿IDを取得します。
- 28. 投稿者管理のコントロールと有効期限が設定された特定のバナーを投稿する
- 29. Railsのcollection_selectの値がinclude_blankに設定されています
- 30. 投稿で投稿するときに$ scopeが空になる