2012-05-15 156 views
1

我正在使用基本Response.StatusCode將狀態碼設置爲9999.此頁面正在通過AJAX呼叫調用,檢查readyState = 4上的狀態代碼並使用Response.StatusDescription設置的消息彈出9999上的警報。我得到的全部是readyState = 4statusCode = 200。如果需要,我可以提供代碼,但不能修剪,所以如果需要/請求代碼,我會減少它。任何幫助表示讚賞。用C#ASP.NET和Javascript編碼。無法設置狀態碼

UPDATE目的:我告的狀態代碼9999表示一個將用戶添加到SQL表時,「用戶已存在」的錯誤。這是我發現這個錯誤發生時讓AJAX調用知道的唯一方法。

+1

對不起,我有點困惑 - 這些數字是C#和JavaScript的?你從C#發送9999,並在JavaScript中看到200? – Rup

+3

你爲什麼要重寫HTTP狀態碼?他們確實有你知道的意思。 – Oded

+0

@Rup是的我從C#發送9999,並在JavaScript中獲得200個 – steventnorris

回答

8

您無法填寫狀態代碼。 Here are the valid ones

我認爲最好的選擇是在json響應中發送狀態和消息。

{ 
    status: 9999, 
    message: "User already exists" 
} 

這裏是一所以有可能會教你如何做到這一點一些鏈接發佈: Returning JSON object from an ASP.NET page

+0

我從來沒有處理過json。我在上面添加了我的嘗試的目的。 json會爲此工作嗎?你有沒有鏈接到一個好的json教程或我可以用自己的教育? – steventnorris

+0

@steventnorris當然可以!我添加了一個可以幫助你的鏈接。 – lbstr

+0

爲了我的目的(阻力最小的路徑)使用了409狀態碼,但我看了一下JSON,它非常整齊。本來工作也一樣。 – steventnorris