2012-04-04 22 views
2

我有一個用javascript編寫的大部分代碼的應用程序。我遇到一個奇怪的問題。我有一個查詢字符串,我的應用程序讀取它執行各種操作。昨天我改變了查詢字符串參數的排序並且應用程序停止工作。如果我把原來的訂單放回去,那麼它開始工作。可能是什麼原因?我認爲參數排序的效果應該不重要。但是,顯然它出於某種原因很重要。我仍然試圖挖掘可能存在的問題,但是想知道這裏是否有人遇到類似的問題?查詢字符串中參數的位置如何影響頁面?

謝謝。

+0

你可以把代碼? – Joseph 2012-04-04 05:22:26

+0

我沒有花時間去檢查問題是什麼。我今天要檢查一下,讓你們知道。謝謝。 – Blueboye 2012-04-04 23:44:35

回答

5

正確編寫的應用程序將以任意順序查找給定的查詢參數,並且不會對順序敏感。雖然編寫得很差的解析代碼是可能的,但只能在開始,結束時或僅在其他參數後面找到給定參數。在沒有看到解析查詢參數的代碼的情況下,我們無法真正地說出它有什麼問題,但是可能會寫入對位置不敏感的代碼。

如果您發佈解析查詢參數的代碼和查詢字符串的工作和沒有,那麼我們可以建議更具體。您還應該檢查以確保您的查詢參數沒有任何應該被編碼的字符,這些字符可能會丟掉任何東西。

1

它不應該是一個問題。還有其他的東西會導致錯誤。或者,您對包含該URL的location變量有一些依賴關係。

1

當開發人員使用查詢字符串作爲緩存對象的關鍵字時,我看到了這種問題。當查詢字符串發生更改時,密鑰不一樣,緩存機制失敗(由於另一個錯誤)。

相關問題