将带有特殊字符angularjs的json传递给ruby

时间:2018-05-28 10:11:26

标签: ruby-on-rails angularjs json ruby restangular

我需要制作一个搜索表单,其中后端使用的是ruby,前端是有角度的。搜索查询以json格式生成角度,并通过restangular服务传递给ruby。

工作正常。但是当我们用分号测试搜索字符串时,它返回了500内部错误。第一行puts params[:search]为实际的json字符串{"content":"my search is

提供{"content":"my search is ; and :", "options":[]}

请帮助我处理它" ; "还请让我知道我需要处理的所有角色。

1 个答案:

答案 0 :(得分:0)

您需要先对params进行编码。

所以编码的参数将是: {"content":"my search is %3B and :", "options":[]}

以下内容也有效: %7B%22content%22%3A%22my+search+is+%3B+and+%3A%22%2C+%22options%22%3A%5B%5D%7D

您可以使用:https://www.w3schools.com/tags/ref_urlencode.asp

对网址进行编码

我确信Angular必须有一些库来编码URL。

您还可以使用原生Javascript URL encoder

similar question已经回答了问题。