我有一个函数,发送两个字符串值"Name和Text"到服务器。当发送post方法时,php文件发送带有这两个值的电子邮件。
如果我只从我的iOS应用程序发送一个值,一切都工作,但是,如果我试图发送两个或更多的值,我不会收到任何电子邮件。
我使用的代码是:
func postToServerFunction() {
var textFromapp: NSString = sendValueText.text
var nameFromapp: NSString = sendValueName.text
println("Button Pressed")
var url: NSURL = NSURL(string: "http://example.com//iOS/send_ios.php")!
var request:NSMutableURLRequest = NSMutableURLRequest(URL:url)
var bodyData = "data=" + (textFromapp as String) //data to send
var bodyName = "name=" + (nameFromapp as String) //data to send
request.HTTPMethod = "POST"
request.HTTPBody = bodyData.dataUsingEncoding(NSUTF8StringEncoding);
request.HTTPBody = bodyName.dataUsingEncoding(NSUTF8StringEncoding);
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response, data, error) in
println(response)
if let HTTPResponse = response as? NSHTTPURLResponse {
let statusCode = HTTPResponse.statusCode
if statusCode == 200 {
// Yes, Do something.
}
}
}
}
我怎么能告诉HTTPBody看两个值?
供将来参考:
var bodyData = "data=" + (textFromapp as String) + "&name=" + (nameFromapp as String)
欢迎提出其他建议
看看这些答案。乐趣(功能)是最美的。
function encodeData(data) {
return Object.keys(data).map(function(key) {
return [key, data[key]].map(encodeURIComponent).join("=");
}).join("&");
}