iOS swift Post请求 [英] iOS swift Post request

查看:355
本文介绍了iOS swift Post请求的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我想用以下输出创建一个帖子请求:

So I want to create a post request with the following output:

"user"=>{"email"=>"test@test.com", "password"=>"[FILTERED]", "password_confirmation"=>"[FILTERED]"}

相反,我得到:

{"user[password_confirmation]"=>"[FILTERED]", "user[email]"=>"test@test.com", "user[password]"=>"[FILTERED]", "user"=>{}}

这是我用来发布此帖子请求的代码:

This is the code I use to make this post request:

let request = NSMutableURLRequest(URL: NSURL(string: urlString)!)
        let session = NSURLSession.sharedSession()
        let params = ["user[email]":username.text!, "user[password]":password.text!, "user[password_confirmation]":passwordRepeated.text!]

        request.HTTPBody = try? NSJSONSerialization.dataWithJSONObject(params, options: [])
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")
        request.HTTPMethod = "POST"

        let task = session.dataTaskWithRequest(request, completionHandler: { data, response, error -> Void in

            print(request.HTTPBody)
            print(params)
            print(error)
            print(response)
            print(data)
        })

        task.resume()

那么如何正确创建我的参数?

So how do I correctly create my params?

推荐答案

你正在错误地组成参数。

You are composing params incorrectly.

这样做,

   let params = [
        "user": [
            "email": username.text!,
            "password": password.text!,
            "password_confirmation": passwordRepeated.text!
        ]
    ]

这篇关于iOS swift Post请求的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆