输入的特殊字符作为 %nn
Special characters on input come in as %nn
我有一个 HTML 表单请求要搜索的电影名称,还有一个 JavaScript 函数在重新调用时将该名称作为查询参数传递(在 ? 之后)页面 URL 并将其与数据库进行比较(使用 AJAX 读取)。问题是特殊字符在输入到 %nn 时被翻译,因此它们与数据库中的名称不匹配。例如,当我读取“飞机!”的用户输入时使用“title = window.location.search”我收到“airplane%21”。我怎样才能打败或纠正这种行为,或者我是否必须翻译我的 JavaScript 例程中的每个 %nn?谢谢你。
(参考页面:https://acb.org/adp/findavideo.html)
哎呀!在我发布这篇文章后不到 2 秒,有人给我发了一个离线答案:“title = decodeURIComponent(title)”就可以了。希望这对其他人有帮助。
您可以在使用前尝试解码该值,例如:
decodeURIComponent('%21'); // "!"
我有一个 HTML 表单请求要搜索的电影名称,还有一个 JavaScript 函数在重新调用时将该名称作为查询参数传递(在 ? 之后)页面 URL 并将其与数据库进行比较(使用 AJAX 读取)。问题是特殊字符在输入到 %nn 时被翻译,因此它们与数据库中的名称不匹配。例如,当我读取“飞机!”的用户输入时使用“title = window.location.search”我收到“airplane%21”。我怎样才能打败或纠正这种行为,或者我是否必须翻译我的 JavaScript 例程中的每个 %nn?谢谢你。 (参考页面:https://acb.org/adp/findavideo.html)
哎呀!在我发布这篇文章后不到 2 秒,有人给我发了一个离线答案:“title = decodeURIComponent(title)”就可以了。希望这对其他人有帮助。
您可以在使用前尝试解码该值,例如:
decodeURIComponent('%21'); // "!"