11

我有一个应用程序,其中大部分代码都是用 javascript 编写的。我遇到了一个奇怪的问题。我有一个查询字符串,我的应用程序读取它以执行各种操作。昨天我更改了查询字符串参数的顺序,应用程序停止工作。如果我把原来的订单放回去,它就会开始工作。可能是什么原因?我认为参数排序的效果应该无关紧要。但是,显然出于某种原因它确实很重要。我仍在尝试找出可能是什么问题,但想知道这里是否有人遇到过类似的问题?

谢谢。

4

3 回答 3

22

正确编写的应用程序将以任何顺序查找给定的查询参数,并且不会对顺序敏感。但是,可能有编写不佳的解析代码只能在开头、结尾或仅在某个其他参数之后找到给定参数。没有看到解析查询参数的代码,我们不能真正说出它有什么问题,但是可能有写得不好的位置敏感的代码。

如果您发布解析查询参数的代码以及有效的查询字符串和无效的查询字符串,我们可以提供更具体的建议。您还应该检查以确保您的查询参数中没有任何应该被编码的字符,这些字符可能会造成问题。

于 2012-04-04T05:53:35.673 回答
1

这应该不是问题。其他原因导致错误。location或者您对包含 URL的变量有一些依赖关系。

于 2012-04-04T05:23:42.287 回答
1

当开发人员按原样使用查询字符串作为缓存对象的键时,我已经看到了这种问题。当查询字符串更改时,键不一样,缓存机制失败(由于另一个错误)。

于 2012-04-04T06:03:34.197 回答