json - 我想在 NSURL (Swift) 中的字符串中插入一个变量

标签 json swift nsurl

我的应用页面有一个表单,我希望用户在其中输入他的姓名和电话号码。

我希望将此数据提取到以下 URL 中。

变量是用户名,电话号码。

var url:NSURL = NSURL(string: "https:xyz.com/newRequest?fullname=\(username)&phone=\(phoneno)")!

这是编写将用户名和电话号码参数作为变量的 URL 的正确语法吗?


这就是我想要实现的,但我在模拟过程中不断收到错误 405 -

var post:NSString = "username=\(username)&phoneno=\(phoneno)"

NSLog("PostData: %@",post);

var url:NSURL = NSURL(string: "https://example.com/newRequest?fullname=(username)&phone=(phoneno)")!

var postData:NSData = post.dataUsingEncoding(NSASCIIStringEncoding)!

var postLength:NSString = String( postData.length )

var request:NSMutableURLRequest = NSMutableURLRequest(URL: url)
request.HTTPMethod = "POST"
request.HTTPBody = postData
request.setValue(postLength, forHTTPHeaderField: "Content-Length")
request.setValue("application/x-www-form-urlencoded", forHTTPHeaderField: "Content-Type")
request.setValue("application/json", forHTTPHeaderField: "Accept")

最佳答案

你应该使用 NSURLComponentsNSURLQueryItem反而。然后系统可以为您正确转义这些值。像这样:

let username = "foo"
let phoneno = "bar"

let comps = NSURLComponents(string: "https://example.com/newRequest")
comps?.queryItems = [
    NSURLQueryItem(name: "fullname", value: username),
    NSURLQueryItem(name: "phone", value: phoneno)
]

comps?.URL // returns https://example.com/newRequest?fullname=foo&phone=bar

关于json - 我想在 NSURL (Swift) 中的字符串中插入一个变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32900055/

相关文章:

ios - 如何从 didFailProvisionalNavigation 方法获取失败的 URL

php - IONIC Accordion 列表 + Angular JS + PHP 表单发布

c# - 如何读取JSON数据?

Python Pandas - 处理具有嵌套字典(json)值的列

swift - EXC_BAD_INSTRUCTION 仅在 iPhone 5 模拟器中

ios - 如何在 Xcode 中访问 Genstrings?

ios - webview.URL?.absoluteString 返回 nil

c# - Angular 6/C#/MVC 以 Json Array of Array 的形式从 Controller 动态返回 JsonResult

ios - Swift:如何有选择地将函数作为参数传递并调用函数?

ios - NSURLConnection 和 NSMutableURLRequest 认证