使用alamofire发出POST请求

时间:2015-04-05 03:44:25

标签: swift alamofire

我是我的快捷应用程序。我想用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.)"})

1 个答案:

答案 0 :(得分:5)

如果您使用真正的iPhone进行测试,则应将主机从localhost更改为Mac的IP地址,并确保iPhone和Mac位于同一无线网络中。

如果您正在使用模拟器进行测试,它应该可以正常运行。也许您可以将localhost更改为127.0.0.1

错误是由错误的网址引起的。您可以在设备的Safari中测试它是否有效。

相关问题