gpt4 book ai didi

php - 无法让 POST 与 swift 一起工作

转载 作者:行者123 更新时间:2023-11-28 09:05:14 24 4
gpt4 key购买 nike

我正在尝试将数据从我的应用程序发送到 MySql 数据库。我通过我的 php 脚本成功连接到数据库,但只记录了空白条目。即名称=“”。我想我对数据的编码不正确,但我不确定。

    let name = "test"
let url = NSURL(string: posturl)
var request = NSMutableURLRequest(URL: url!)
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.HTTPMethod = "POST"
var postString: NSString = "name=\(name)"

这是我认为我犯了一些错误的地方,但老实说我不确定。我对 swift/iOS 开发一点都不熟悉!

    var data: NSData = postString.dataUsingEncoding(NSASCIIStringEncoding)!
request.HTTPBody = data

另外,我想知道是否有必要这样做。我看到它在示例中使用,但不确定它是否有用。

    var conString: NSString = NSString(format:"%u", data.length)
request.setValue(conString as String, forHTTPHeaderField: "Content-Length")

最后,我建立了联系

    var conn =  NSURLConnection(request: request, delegate: self)
conn!.start()

最佳答案

NSASCIIStringEncoding 应为 NSUTF8StringEncoding 并尝试使其异步以获得更好的性能

 let posturl: String = "YOUR URL HERE"
var url: NSURL = NSURL(string: posturl)!
var request1: NSMutableURLRequest = NSMutableURLRequest(URL: url)
request1.HTTPMethod = "POST"
var postString = "name=\(name)" // Key and Value
let data = postString.dataUsingEncoding(NSUTF8StringEncoding)
request1.timeoutInterval = 60
request1.HTTPBody=data
request1.HTTPShouldHandleCookies=false
let queue:NSOperationQueue = NSOperationQueue()
NSURLConnection.sendAsynchronousRequest(request1, queue: queue, completionHandler:{ (response: NSURLResponse!, data: NSData!, error: NSError!) -> Void in
var err: NSError
var jsonResult: NSDictionary = NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: nil) as NSDictionary
println("AsSynchronous\(jsonResult)")
})

关于php - 无法让 POST 与 swift 一起工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30973562/

24 4 0
文章推荐: 背景附件 :fixed; 的 CSS 问题
文章推荐: javascript - 单击追加
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com