我正在尝试接收和处理从我的 iOS 应用程序发送到我的 Node.js Web 服务器的 POST 请求。每当我尝试发送此 POST 请求时,服务器都会响应 HTTP 错误 502。你能看看我下面的代码,看看有什么问题吗?谢谢!
Node.js 代码
app.post('/applogin', function(req, res) {
var parsedBody = JSON.parse(req.body);
console.log(parsedBody)
});
Swift 代码(POST 功能)
func httpPost(jsonData: Data) {
if !jsonData.isEmpty {
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.httpBody = jsonData
URLSession.shared.getAllTasks { (openTasks: [URLSessionTask]) in
NSLog("open tasks: \(openTasks)")
}
let task = URLSession.shared.dataTask(with: request, completionHandler: { (responseData: Data?, response: URLResponse?, error: Error?) in
NSLog("\(response)")
})
task.resume()
}
}
Swift 代码(发送 POST 请求)
@IBAction func onClick(_ sender: Any) {
let username = Username.text
let password = Password.text
var dataString = "username: \(username), password: \(password)"
let data = dataString.data(using: .utf8)
httpPost(jsonData: data!)
}
提前致谢!
您必须发送一个 json 而不是 dataString,并且您必须使用值“application/json”设置“Content Type”标头
斯威夫特 2
let request = NSMutableURLRequest(URL: requestUrl)
request.HTTPMethod = "POST"
let params = ["username" : username, "password" : password] as Dictionary<String, AnyObject>
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options:NSJSONWritingOptions.PrettyPrinted)
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句