>

알라모 파이어와 함께 신속한 프로젝트를 진행하고 웹 서비스를 호출하고 있습니다. 그러나 post 메소드를 호출하는 동안 다음과 같은 오류가 발생합니다.

Header file :
let accessTokenHeaderFile = [
    "Accept": "application/json",
    "Content-Type" :"application/json",
    "X-TOKEN" : UtilityClass.sharedInstance.accessTokenString
]
        Alamofire.request(urlString, method: .post, parameters: params as? [String:Any], encoding: JSONEncoding.default, headers: accessTokenHeaderFile).responseJSON { response in
          requestVC.removeLoader()
            switch (response.result) {
            case .success:
                if response.result.value != nil{
                    completionHandler (response.result.value)
                }
                break
            case .failure(let error):
                failureHandler (error as NSError?)
                break
            }
        }

그리고 오류는

FAILURE: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.jsonSerializationFailed(Error Domain=NSCocoaErrorDomain Code=3840 "Invalid value around character 0." UserInfo={NSDebugDescription=Invalid value around character 0.}))

누구든지 나에게 제안 할 수 있고, 이것을 고치는 방법, 인터넷 검색을 시도했지만 대답을 찾은 것이 도움이되지 않았습니다.


  • 답변 # 1

    응답이 유효한 json이 아니므로이 오류가 발생합니다. response.response?.statusCode 를 확인하십시오  서버가 무엇을 반환하는지 확인하십시오. 실제 응답을 보려면 responseString 를 사용하십시오.  또는 responseData   responseJSON 대신 메소드

    예 :

    Alamofire.request(urlString, method: .post, parameters: params as? [String:Any], encoding: JSONEncoding.default, headers: accessTokenHeaderFile). responseData {
    
    

    여기에서 더 많은 응답 방법을 찾을 수 있습니다.

  • 답변 # 2

    서버의 응답이 유효한 JSON 문자열이 아니라는 3840 오류가 발생했습니다.매개 변수 키 값responseJSON 대신 responseString과 유사하기 때문에 잘못 할당되었을 수 있습니다.

  • 이전 android - 치명적인 예외 - javalangoutofmemoryerror : pthread_create at comgooglemapsapi
  • 다음 nginx - phusion passenger - 'service [passenger]'자원에 대해`start '조치 실행 오류