gpt4 book ai didi

ios - 在 swift2 中使用 Alamofire pod 时 POST 请求不起作用?

转载 作者:行者123 更新时间:2023-11-28 08:49:52 25 4
gpt4 key购买 nike

我正在用 Swift 2 做一个演示应用程序,它发出一个 HTTP POST 请求。但是不明白为什么我的请求没有到达服务器。我正在使用 Alamofire 3.0Xcode 7.2swift 2.0。我基于这个 link 安装了 Alamofire pod : https://github.com/Alamofire/Alamofire#requirements

我的字符串是

str = "{videos{title,videourl,imageurl}}"

我的代码是:

Alamofire.request(
.POST,
url,
parameters: Dictionary(),
encoding: .Custom({
(convertible, params) in
let mutableRequest = convertible.URLRequest.copy() as! NSMutableURLRequest
mutableRequest.setValue("application/graphql", forHTTPHeaderField: "Content-Type")
mutableRequest.HTTPBody = str.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
return (mutableRequest, nil)
}),
headers: nil
).responseJSON{
(JSON) -> Void in
if JSON.result.value != nil
{
print(JSON.result.value)
self.delegate.successReponse(JSON.result.value!, withType: type)
}
else
{
}
}

当我打印 JSON.result.value 时,它显示如下:

Optional({
errors = (
{
}
);
})

我不明白为什么它没有到达服务器。

最佳答案

你以前做过吗? info.plist 中的应用程序传输安全。 https://github.com/Alamofire/Alamofire其次,参数没有任何东西。它应该将您的字符串更改为字典。

您可以使用 json 将字符串生成字典。

let data = changestring.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: true)
var dict = NSDictionary()
do{
//dict = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSDictionary
dict = try NSJSONSerialization.JSONObjectWithData(data!, options: []) as! NSDictionary
}
catch{
}

NSLog("this is dict \(dict)")

或者您可以将 NSDictionary 传递给参数。

Alamofire.request(.POST, "https://httpbin.org/post", parameters: parameters, encoding: .JSON)

如果您想要其他HTTP POST 和GET 方法,此链接适合您:https://github.com/RYANCOAL/swift-with-AFNetworking/blob/master/TestHTTPTests/TestHTTPTests.swift

手动验证Alamofire.validate(contentType: ["application/json"]) 可以搜索 contentType 的值,我不知道它可以/不能设置 contentType。

关于ios - 在 swift2 中使用 Alamofire pod 时 POST 请求不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34508413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com