我正在研究swift项目并使用Alamofire调用webservice。 但是,在调用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.}))
任何人都可以建议我,如何解决这个问题,我尝试使用谷歌搜索,但无论我发现什么答案都没有帮助我。
答案 0 :(得分:0)
您的回复不是有效的json,因此您收到此错误。请检查module.directive("autoComplete", function($rootScope) {
return {
restrict: 'A',
link : function(scope, elm, $attrs) {
$rootScope.$watch('googleApiIsReady', function() {
if ($rootScope.googleApiIsReady) {
...
}
}, true);
}
};
});
以查看服务器返回的内容。如果您想查看实际响应,请尝试使用response.response?.statusCode
或responseString
方法代替responseData
e.g。
responseJSON
您可以找到更多response methods here
答案 1 :(得分:0)
3840错误说服务器的响应不是有效的JSON字符串。所以你可以检查参数键值可能是错误的分配,因为类似于responseString而不是responseJSON 。