我正在使用alamofire将数据发布到mysql数据库中,并且可以看到数据出现在数据库中,因此代码可以正常工作。但是,我不喜欢在Xcode控制台中看到的错误或提示:
responseValidationFailed(原因:Alamofire.AFError.ResponseValidationFailureReason.unacceptableContentType(acceptableContentTypes:[“ application / json”],responseContentType:“ text / html”))
我对Alamofire不太熟悉,但看起来错误是我在发布text / html而不是json。但这不是我想要的,我想发布json。我不确定是否需要先使用codable并对数据进行编码,或者如果确实存在问题,那么问题出在哪里。因为我的另一种想法是.responseJSON实际上是将参数转换为json格式,所以这就是验证给我这个错误的原因,因为它在将数据格式化为json之前正在检查数据?
let url = URL(string: "http://localhost:8888/mobile/bd_booking.php")
let parameters: Parameters = [
"firstName": namesTxt.text,
"email": emailTxt.text,
"contactNo": contactNoTxt.text
]
Alamofire.request(url!, method: .post, parameters: parameters)
.validate(statusCode: 200..<300)
.validate(contentType: ["application/json"])
.responseJSON { response in
switch response.result {
case .success:
print("Success")
case .failure(let error):
print(error)
}
}
答案 0 :(得分:0)
最近,我遇到了类似的问题。
我通过阅读以下官方章节解决了该错误:
https://github.com/Alamofire/Alamofire/blob/master/Documentation/Usage.md#json-encoding
我希望您可以通过实施此方法解决当前问题。