问题描述
我有一个HTML FORM请求要搜索的电影的名称,还有一个JavaScript函数,该函数使用该名称作为重新调用页面URL时的查询参数(在?之后)并将其与数据库进行比较(用AJAX阅读)。问题在于特殊字符在输入时被转换为%nn ,因此它们与数据库中的名称不匹配。例如,当我阅读“飞机!”的用户输入时使用“标题= window.location.search”,我收到“ airplane%21”。我该如何克服或纠正这种行为,还是必须转换JavaScript例程中的每个%nn?谢谢。 (页面引用:https://acb.org/adp/findavideo.html)
啊!在我发布此消息后不到2秒钟,有人向我发送了离线答案:“ title = encodeURIComponent(title)”可以解决问题。希望这对其他人有帮助。
解决方法
您可以在使用该值之前尝试对其进行解码,例如:
decodeURIComponent('%21'); // "!"