ios - AFNetworking 错误信息:NSCocoaErrorDomain Code=3840
天蓬老师
天蓬老师 2017-04-17 17:31:26
0
4
915

App 使用很久了,昨天出现一个bug,网络请求总失败。调试打印,发现是这样的错误:


AFHTTPRequestOperation *operation = [manager POST:URLString parameters:param success:^(AFHTTPRequestOperation *operation, id responseObject) {
    if (successBlock) {
        successBlock(responseObject);
    }
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
    if (failureBlock) {
        failureBlock(error);
    }
    NSLog(@"%@", error);
}];

Error Domain=NSCocoaErrorDomain Code=3840 "JSON text did not start with array or object and option to allow fragments not set." UserInfo={NSDebugDescription=JSON text did not start with array or object and option to allow fragments not set., NSUnderlyingError=0x15eb52e0 {Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request failed: bad gateway (502)" UserInfo={com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x15d4c7d0> { URL: http://xxx.com } { status code: 502, headers { Connection = "keep-alive"; "Content-Length" = 173; "Content-Type" = "text/html"; Date = "Mon, 01 Feb 2016 03:35:51 GMT"; Server = "nginx/1.5.12"; } }, NSErrorFailingURLKey=http://xxx.com, NSLocalizedDescription=Request failed: bad gateway (502)

有大神遇到过吗?App 使用很久了,头一次出现这样的 bug, 因此可以排除 manager 的配置问题。

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

모든 응답(4)
Peter_Zhu

서버에서 반환된 데이터는 json 형식이 아닙니다. 백엔드에서 조정하도록 두는 것이 가장 일반적인 실수입니다.

大家讲道理

이런 일이 발생하는 가장 일반적인 이유는 인터페이스가 인쇄 정보를 추가하거나 인터페이스에서 오류가 발생하여 요청에 의해 반환된 데이터가 합법적인 JSON이 아니며 오류가 보고되는 것입니다.

迷茫

1층의 정답은 이 문제가 이전에도 항상 발생했다는 것입니다. 즉, 인터페이스에서 반환된 데이터가 표준 json 형식이 아니며 줄 바꿈이나 기타 기호로 인해 발생할 수 있습니다.

刘奇

@Aster0id, @biaoge, @Na爱利懇, 정말 서버의 잘못입니다. 감사해요.

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿