如何发送'&' HTTP请求正文中的字符?

时间:2016-06-20 07:38:29

标签: swift post http-post

我将这些参数保存为字符串:

title=Culture, sport & recreation (1 day)&useremail=ammar@gmail.com&days=2&ispredefined=false&languageid=1&websiteid=1&node=item&languageid=1&websiteid=1&moduletype=Accommodation&moduleuniquename=abu.dhabi.plaza.hotel.apartments&dayindex=1

我正在使用以下代码将其传递给请求正文:

let request = NSMutableURLRequest(URL: URL.getURL(url)!)
        let session = NSURLSession.sharedSession()
        request.HTTPMethod = "POST"
        request.HTTPBody = params.dataUsingEncoding(NSASCIIStringEncoding)

但问题是字符串中的标题 title = Culture,sport&娱乐有''字符,我从服务器收到400个错误的请求

请任何建议如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

正如您可以阅读附加的链接,您必须编码&符号。

  

encodeURIComponent('&')给出“%26”

因此,您必须使用%26替换所有&符号或在代码中使用encodeURIComponent(str)

escaping ampersand in url

How can I send the "&" (ampersand) character via AJAX?