title: Sending simple POST in Swift, getting "Empty Post" response
body: <p>I have registration page in my iOS app that I'm trying to write in Swift. The first thing I'm testing out is sending a POST with the email address, this is the way I'm doing so:</p>
  
  <pre><code>var bodyData = ("userEmail=%@\" \" &amp;userPassword=%@\" \"&amp;userDevice=%@\" \"", emailAddress.text, password.text, deviceModel)
  
      let dataToSend = (bodyData as NSString).dataUsingEncoding(NSUTF8StringEncoding)
  
              request.HTTPMethod = "POST"
              request.HTTPBody = dataToSend
              let task = NSURLSession.sharedSession().dataTaskWithRequest(request) {
                  data, response, error in
  
                  if error != nil {
                      print("error=\(error)")
                      return
                  }
                  // print("response = \(response)")
  
                  let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
                  print("responseString = \(responseString)")
              }
              task.resume()
  </code></pre>
  
  <p>However, I'm getting a message back stating that it was an empty post. This is the exact response from the output above: <code>responseString = Optional({"complete":"false","message":"Empty Post"})</code> 
  I've researched different ways to send a simple POST in Swift, and this appears to be correct. I can't see anything wrong with it or why it would output a message saying that the post was empty... Except for maybe the format of the string?</p>
  
  <p>The database is expecting multiple things for the "new user" service, and I'm only sending one part due to it being a test. Could this be the issue? The new-user service is expecting:</p>
  
  <pre><code>Service URL : https://test.com/services/new-user/
  Required Post Fields:
  For New User:
  ￼'userEmail'
  'userPassword'
  'userDevice'
  </code></pre>
  
  <p>(From the documentation).</p>
  
  <p>I haven't worked with web services much. After brainstorming more I think these may be the culprits: I may be getting the response back because I'm not sending all the data at once. I also may be sending it incorrectly. Can I send it as text or do I need to send it as JSON?</p>