func isEmailTaken(email:String) -> String {
let myUrl = URL(string: "URL");
var request = URLRequest(url:myUrl!)
request.httpMethod = "POST"
let postString = "email=\(email)";
request.httpBody = postString.data(using: String.Encoding.utf8);
let task = URLSession.shared.dataTask(with: request) { (data: Data?, response: URLResponse?, error: Error?) in
if error != nil {
print("error=\(error)")
return
}
print("response = \(response)")
do {
let json = try JSONSerialization.jsonObject(with: data!, options: .mutableContainers) as? NSDictionary
if let parseJSON = json {
let emailAlreadyTakenData = parseJSON["emailAlreadyTaken"] as! String
print(emailAlreadyTakenData)
}
} catch {
print(error)
}
}
task.resume()
return(emailAlreadyTakenData)
}
The line :
return(emailAlreadyTakenData)
Doesnt get the variable value. So, the http request gets the data successfully but the return command doesn't parse the correct data.