ios - Swift 项目中的 AFNetorking -- "Error: Request failed: unacceptable content-type: text/html"

标签 ios api swift afnetworking

我正在将带有 CocoaPods 的 AFNetworking 实现到一个 Swift 项目中。我习惯用 Ruby 编程,而我对 iOS 开发还很陌生。 Cocoapods 很难在我的项目中正常工作,但我现在可以成功访问 AFNetworking 库。

我想做的是用 POST 命中一个表单并得到一个我可以解析的“text/html”响应,这样我就可以判断它是否保存了。这本身不是 API,而是由 InfusionSoft 生成的表单。用户将输入一个电子邮件地址,我会将其发送到 API 进行存储。这是我使用的代码:

let manager = AFHTTPRequestOperationManager()
            var parameters = ["inf_form_xid": "MY_ACCESS_ID",
                      "inf_form_name": "Webform in Content App",
                      "infusionsoft_version": "1.34.0.35",
                      "inf_field_email": self.emailTextField.text]

    manager.POST( "https://ns166.infusionsoft.com/app/form/process/REALLYLONGUNIQUEID",
    parameters: parameters,
    success: { (operation: AFHTTPRequestOperation!,responseObject: AnyObject!) in
        println("JSON: " + responseObject.description)
    },
    failure: { (operation: AFHTTPRequestOperation!,error: NSError!) in
        println("Error: " + error.localizedDescription)
    })

我收到的错误是 AFNetworking 的回复:

Error: Request failed: unacceptable content-type: text/html

在一天结束时,我想在允许用户继续使用应用程序之前验证它是否已被服务器保存。

非常感谢任何帮助。

最佳答案

您必须为响应添加允许的内容类型。

你可以对 json 内容这样做:

 manager.responseSerializer.acceptableContentTypes = NSSet(objects: "application/json")

编辑

如果您使用的是 AFNetworking 2.0,来自 AFNetworking wiki :

“默认情况下,AFHTTPRequestOperationManager 和 AFHTTPSessionManager 具有 JSON 序列化程序。”

所以你也许应该尝试像这样更改你的管理器中的响应序列化程序:

manager.responseSerializer = AFHTTPResponseSerializer()

关于ios - Swift 项目中的 AFNetorking -- "Error: Request failed: unacceptable content-type: text/html",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26408655/

相关文章:

ios - UIWebView 可以与应用交互(通信)吗?

swift - 可解码返回对象

swift - 在 macOS Cocoa 基于文档的应用程序中,对于 "New From Template"功能(例如在 Logic 中),什么是一个好的实现策略?

macos - Swift 中来自 CGImage 的 RGB 数据

ios - Xcode 5 调试 - CPU 报告/使用情况中的 "Unnamed"线程

ios - adWhirl 的 actualadsize 方法没有返回正确的信息

ios - iOS中使用performSelector的回调函数

mysql - 在 MySQL 中使用 getopt lib 时出现可疑内存泄漏?

forms - Nodejs POST 请求多部分/表单数据

ios - swift 中的闭包正在做任何事情。我的代码执行不正常