使用 alamofire 发出 POST 请求
Make POST request with alamofire
我是 swift 应用程序。我想用 alamofire
创建一个请求 POST
要求
$ curl \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-X POST -d '{ "user": { "email": "user@example.com", "password": "1234" } }' \
http://localhost:3000/users/sign_in
我的代码
let crendetials = ["user": ["email": "bolo@me.com", "password": "PASSWORD"]]
var postsEndpoint: String = "http://localhost:3000/users/sign_in"
Alamofire.request(.POST, postsEndpoint, parameters: crendetials, encoding: .JSON)
.responseJSON { (request, response, data, error) in
if let anError = error
{
// got an error in getting the data, need to handle it
println("error calling POST on /users/sign_in")
println(error)
}
else if let data: AnyObject = data
{
// handle the results as JSON, without a bunch of nested if loops
let post = JSON(data)
// to make sure it posted, print the results
println(data)
}
}
我遇到了这个错误
request: <NSMutableURLRequest: 0x170208be0> { URL: http://localhost:3000/users/sign_in } || response: nil || object: Optional(<>) || error: Optional(Error Domain=NSURLErrorDomain Code=-1004 "The operation couldn’t be completed. (NSURLErrorDomain error -1004.)" UserInfo=0x1740f6900 {NSErrorFailingURLStringKey=http://localhost:3000/users/sign_in, NSErrorFailingURLKey=http://localhost:3000/users/sign_in, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSUnderlyingError=0x17405c500 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1004.)"})
如果您使用真实的 iPhone 进行测试,您应该将主机从 localhost
更改为您的 Mac 的 IP 地址,并确保您 iPhone和 Mac 在同一个无线网络中。
如果您使用模拟器进行测试,它应该可以工作。也许您可以将 localhost
更改为 127.0.0.1
。
错误是由于错误url造成的。您可以在设备中的 Safari 中进行测试,看看它是否有效。
我是 swift 应用程序。我想用 alamofire
创建一个请求 POST要求
$ curl \
-H 'Accept: application/json' \
-H 'Content-Type: application/json' \
-X POST -d '{ "user": { "email": "user@example.com", "password": "1234" } }' \
http://localhost:3000/users/sign_in
我的代码
let crendetials = ["user": ["email": "bolo@me.com", "password": "PASSWORD"]]
var postsEndpoint: String = "http://localhost:3000/users/sign_in"
Alamofire.request(.POST, postsEndpoint, parameters: crendetials, encoding: .JSON)
.responseJSON { (request, response, data, error) in
if let anError = error
{
// got an error in getting the data, need to handle it
println("error calling POST on /users/sign_in")
println(error)
}
else if let data: AnyObject = data
{
// handle the results as JSON, without a bunch of nested if loops
let post = JSON(data)
// to make sure it posted, print the results
println(data)
}
}
我遇到了这个错误
request: <NSMutableURLRequest: 0x170208be0> { URL: http://localhost:3000/users/sign_in } || response: nil || object: Optional(<>) || error: Optional(Error Domain=NSURLErrorDomain Code=-1004 "The operation couldn’t be completed. (NSURLErrorDomain error -1004.)" UserInfo=0x1740f6900 {NSErrorFailingURLStringKey=http://localhost:3000/users/sign_in, NSErrorFailingURLKey=http://localhost:3000/users/sign_in, _kCFStreamErrorDomainKey=1, _kCFStreamErrorCodeKey=61, NSUnderlyingError=0x17405c500 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1004.)"})
如果您使用真实的 iPhone 进行测试,您应该将主机从 localhost
更改为您的 Mac 的 IP 地址,并确保您 iPhone和 Mac 在同一个无线网络中。
如果您使用模拟器进行测试,它应该可以工作。也许您可以将 localhost
更改为 127.0.0.1
。
错误是由于错误url造成的。您可以在设备中的 Safari 中进行测试,看看它是否有效。