2013-02-15 72 views
0

我通過JavaScript(Dojo)XHR發佈我的表單。一切工作正常,除非我想發佈任何特殊字符。例如XHR標籤:JavaScript(Dojo)XHR - 編碼特殊字符

​​

我得到錯誤500(內部錯誤)。我該如何解決這個問題?

+0

看起來你的錯誤是在服務器端,而不是JS。 – bfavaretto 2013-02-15 19:47:10

+0

不,我在.NET中工作,設置了一個斷點,它甚至沒有進來。如果我發佈「正常文本」(例如「someTag」沒有h < and >),它可以工作。 – Alex 2013-02-15 19:49:15

+0

什麼樣的特殊字符?你使用的是什麼確切的代碼?正如你自己已經說過的那樣;這是一個內部*服務器*錯誤。可能沒有錯你的JavaScript。 – 2013-02-15 19:49:41

回答

0

看起來你的服務器端代碼是將發佈的值解釋爲代碼而不是字符串。我需要你的服務器端代碼的一個例子,以改善這一點,但在客戶端,你可以使用:

var escapedValue = escape("<someTag>"); 

注意,它不,我再說一遍,不要安全依賴於客戶端的字符編碼。你應該在服務器端修復這個問題。

+0

客戶端已經編碼<進入%3C,這是正確的。它只是不來服務器。我如何解決這個問題在服務器上? – Alex 2013-02-15 19:56:58

+0

正如我所說的,在我能夠幫助您改進代碼之前,我需要一個服務器端代碼的示例。 – 2013-02-15 19:58:26

+0

例如:public ActionResult ViaXhr(string test) { int x = 1; } – Alex 2013-02-15 20:01:13