2014-07-24 48 views
5

我有一個UITextField,當我在UITextField和 按下更新按鈕時我想更新我的服務器,我使用了AFNetworking,但我有一個錯誤:帶AFNetworking的iOS POST:NSLocalizedDescription =請求失敗:內部服務器錯誤(500)

Domain=com.alamofire.error.serialization.response Code=-1011 
"Request failed: internal server error (500) 
{ status code: 500, headers { 
"Access-Control-Allow-Headers" = "Origin, X-Requested-With, Content-Type, Accept"; 
"Access-Control-Allow-Methods" = "OPTIONS,GET,POST,PUT,DELETE"; 
"Access-Control-Allow-Origin" = "*"; 
Connection = "keep-alive"; 
"Content-Type" = "text/plain"; 
Date = "Thu, 24 Jul 2014 00:41:56 GMT"; 
Server = Cowboy; 
"Transfer-Encoding" = Identity; 
Via = "1.1 vegur"; 
"X-Powered-By" = Express; 
} }, NSLocalizedDescription=Request failed: internal server error (500)} 

這裏是我的更新按鈕代碼:

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 


NSDictionary *params = @ {@"status" :_status}; 


[manager POST:BASE_URL parameters:params 
     success:^(AFHTTPRequestOperation *operation, id responseObject) 
{ 
    NSLog(@"JSON: %@", responseObject); 
} 
     failure: 
^(AFHTTPRequestOperation *operation, NSError *error) { 
    NSLog(@"Error: %@", error); 
}]; 

知道的任何幫助!

+0

這是一個服務器錯誤,所以您的服務器上可能有錯誤,而不是客戶端。檢查你的服務器日誌,看看發生了什麼。這不是iOS問題。 – Dima

+1

您的服務器是否期望Content-Type爲「text/plain」或「application/json」?你的iOS代碼顯示你正在使用AFJSONRequestSerializer(它會把你的參數作爲JSON而不是純文本發送),但你的服務器響應表示「Content-Type」應該是「text/plain」? – Zhang

+0

@Zhang我有確切的問題,我知道我的服務器期望「text/plain」,但我無法通過發送NSDictionary來使我的有效JSON可以接受。我收到相同的錯誤(請求失敗:內部服務器錯誤(500))。那我該如何讓我的json可以接受嗎?提前致謝。 –

回答

-2

從代碼中刪除此行:

manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

,改變你的requestSerializer到:[AFHTTPRequestSerializer serializer];

這工作正常,在我的應用程序。

+0

但是......爲什麼? –

+0

這麼多層面上都是錯誤的。您無法將請求序列化程序分配給管理程序的響應序列化程序。 – Sebyddd

+0

並不意味着將請求串行器分配給響應串行器。 – Gokberk

1

錯誤代碼,-1011表示kCFURLErrorBadServerResponse(來自docs)。你的網絡服務(API)給你迴應,你的請求/響應序列化程序AFNetworking不知道。請求您的開發團隊查看並糾正錯誤。

相關問題