将带有特殊字符 angularjs 的 json 传递给 ruby
Pass json with special characters angularjs to ruby
我需要制作一个搜索表单,其中使用的后端是 ruby,前端是 angular。搜索查询以 angular 格式生成 json 并通过 restangular 服务传递给 ruby。
它工作正常。但是当我们用分号测试搜索字符串时,它返回 500 内部错误。第一行 puts params[:search]
为实际的 json 字符串 {"content":"my search is ; and :", "options":[]}
给出 {"content":"my search is
请帮助我如何处理它“;”也请让我知道我需要处理的所有字符。
您需要先对参数进行编码。
所以编码后的参数将是:
{"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
您可以使用以下方式对 URL 进行编码:https://www.w3schools.com/tags/ref_urlencode.asp
我确定 Angular 必须有一些库来对 URL 进行编码。
您也可以使用原生 Javascript URL encoder。
已在 SO 上得到回答。
我需要制作一个搜索表单,其中使用的后端是 ruby,前端是 angular。搜索查询以 angular 格式生成 json 并通过 restangular 服务传递给 ruby。
它工作正常。但是当我们用分号测试搜索字符串时,它返回 500 内部错误。第一行 puts params[:search]
为实际的 json 字符串 {"content":"my search is ; and :", "options":[]}
{"content":"my search is
请帮助我如何处理它“;”也请让我知道我需要处理的所有字符。
您需要先对参数进行编码。
所以编码后的参数将是:
{"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
您可以使用以下方式对 URL 进行编码:https://www.w3schools.com/tags/ref_urlencode.asp
我确定 Angular 必须有一些库来对 URL 进行编码。
您也可以使用原生 Javascript URL encoder。