我有一个代码来更新数据库中部门的名称..我使用这个编码代码:
let myurlstring="http:example/updateDepartment.php?deptName="+"\(deptName)"+"&id="+"\(deptID)"
let escapedString = myurlstring.addingPercentEncoding(withAllowedCharacters:NSCharacterSet.urlQueryAllowed)
let myUrl = URL(string:escapedString!)!
效果非常好,但当deptName
字符串包含此垃圾&
时,它无效。
example1:使用deptName = "CIT and Network"
发送请求它会起作用。
示例2:deptName = "CIT & Network"
的发送请求将在数据库中仅作为“CIT”,将跳过&
之后的任何垃圾。
任何帮助?
答案 0 :(得分:1)
使用URLComponents
+ URLQueryItem
代替。它可用于从结构化输入中编码查询部分:
var comp = URLComponents(string: "http://example.com")!
comp.path = "/some path to/update.php"
comp.queryItems = [
URLQueryItem(name: "deptName", value: "CIT & Network"),
URLQueryItem(name: "id", value: "123456"),
]
let url = comp.url!
print(url)
// http://example.com/some%20path%20to/update.php?deptName=CIT%20%26%20Network&id=123456