2014-07-24 15 views
5

Tôi có một UITextField và tôi muốn cập nhật máy chủ của tôi khi tôi viết một cái gì đó trong UITextField và bấm nút cập nhật, tôi đã sử dụng AFNetworking, nhưng tôi có một lỗi:iOS POST với AFNetworking: NSLocalizedDescription = Yêu cầu thất bại: Lỗi máy chủ nội bộ (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)} 

đây là mã nút cập nhật của tôi:

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); 
}]; 

đánh giá cao bất kỳ sự giúp đỡ!

+0

Đây là lỗi máy chủ, vì vậy có thể có sự cố trên máy chủ của bạn, không phải máy khách. Kiểm tra nhật ký máy chủ của bạn để xem điều gì đang xảy ra. Đây không phải là vấn đề iOS. – Dima

+1

Máy chủ của bạn có muốn Content-Type thành "text/plain" hay "application/json" không? Mã iOS của bạn cho thấy bạn đang sử dụng AFJSONRequestSerializer (sẽ lấy thông số của bạn và gửi chúng dưới dạng JSON thay vì văn bản thuần túy) nhưng phản hồi của máy chủ cho biết "Loại nội dung" nên (?) Là "văn bản/đồng bằng"? – Zhang

+0

@Zhang tôi có vấn đề chính xác, tôi biết máy chủ của tôi hy vọng "văn bản/đồng bằng" nhưng tôi không thể làm cho chấp nhận được JSON hợp lệ của tôi bằng cách gửi như NSDictionary. Tôi nhận được cùng một lỗi (Yêu cầu không thành công: lỗi máy chủ nội bộ (500)). Sau đó làm thế nào tôi có thể làm cho json của tôi chấp nhận được bạn có thể giúp tôi? Cảm ơn trước. –

Trả lời

-2

Hủy bỏ dòng này từ mã của bạn:

manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 

và thay đổi requestSerializer của bạn để: [AFHTTPRequestSerializer serializer];

này hoạt động tốt trong ứng dụng của tôi.

+0

nhưng .... tại sao ???? –

+0

Điều này là sai ở nhiều cấp độ. Bạn không thể gán bộ nối tiếp yêu cầu cho bộ nối tiếp đáp ứng của người quản lý. – Sebyddd

+0

didnt có nghĩa là để gán serializer yêu cầu để đáp ứng serializer. – Gokberk

1

Mã lỗi, -1011 có nghĩa là kCFURLErrorBadServerResponse (từ docs). Dịch vụ web của bạn (API) cung cấp cho bạn phản hồi mà trình tự yêu cầu/đáp ứng của bạn là AFNetworking không biết. Yêu cầu nhóm phát triển của bạn xem và sửa lỗi.

Các vấn đề liên quan