2011-10-20 45 views
1

與ajax調用堆疊在一起。 我總是得到錯誤。我試過從服務器ArrayList返回,因爲我在我的一些項目中有一些方案。但結果是一樣的。 Json是有效的。 Staus 200 OK和永久性錯誤。Ajax調用。始終返回錯誤

這裏是我的客戶端代碼

$.ajax({ 
     type: "POST", 
     url: "services.aspx/GetHexString", 
     data: "{'strGetParamsString':'LYALYA'}", 
     contentType: "application/json; charset=utf-8", 
     dataType: "json", 
     success: function(msg) { 
      alert(msg.d); 
     }, 
     error: AjaxFailed 
    }); 

服務器端邏輯:

[WebMethod] 
    public static string GetHexString(string strGetParamsString) 
    { 
     return "HI"; 
    } 

螢火顯示200個OK狀態。結果是{「d」:「HI」} http://jsonlint.com/說json是有效的。

有什麼不對?

+0

我正在使用Jquery-1.3.2 – Ars

+0

你得到了什麼錯誤? – herman

+0

當前版本的jQuery是1.6.4 - 我建議你升級。 – Skilldrick

回答

1

試過你的代碼在這裏,它工作正常。你有沒有添加文字到你的錯誤回調來顯示錯誤?

error: function (jqXHR, textStatus, errorThrown) { 
    alert(textStatus); 
    alert(errorThrown); 
} 
+0

請看頂部 – Ars

+1

您在erroThrown有一個錯字。它不應該是未定義的。嘗試使用我在這裏發佈的代碼。 – njr101

+0

對不起,在這裏? – Ars

1

爲了獲得更多的關於你的信息錯誤,將參數添加到您的錯誤回調函數。從jQuery文檔:

錯誤(jqXHR,textStatus,errorThrown)

errorThrown將包含一些信息。

+0

新增了此警報(jqXHR +「\ n」+ textStatus +「\ n」+ errorThrown);並得到 textStatus = error,erroThrown = undefined – Ars

+0

也許回調函數在版本1.3.2中有所不同,errorThrown應該在最新版本中定義。 – herman

0

error_reporting(0);添加到您的php頁面的頂部。使用返回的json數組,如果您碰巧有一個未定義的變量,或者您有error_reporting就會混淆數組數據。我不知道所有關於這個的全部細節,但它適用於我。