如何在 HTTP 请求 body 中发送 '&' 字符?

How to send '&' character in HTTP request body?

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

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

我使用以下代码将其传递给请求 body:

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

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

请问如何解决这个问题?

正如您在附加链接中看到的那样,您必须对 & 符号进行编码。

encodeURIComponent('&') gives "%26"

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

escaping ampersand in url

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