我使用 Javascript/Node.js,当我使用此查询参数发出 HTTP 请求时:
?key="https://me.yahoo.com/a/xt4hQ7QYssA8hymJKv8MeVQQKGhq_1jwvas-#a6e6f"
我收到一个错误,因为它存储了以下内容:
?key="https://me.yahoo.com/a/xt4hQ7QYssA8hymJKv8MeVQQKGhq_1jwvas-
我想知道如何编码这个字符串,这样它就不会被 chop ?
最佳答案
我假设 URL 末尾的哈希 (#) 实际上是查询参数的一部分。问题在于 Node.js 将其视为整个 URL 的哈希值,这在 HTTP 请求中不起作用。因此,您需要对查询字符串进行正确编码。
结构化 API 函数,如 querystring.stringify
可能是最好的。
var query = querystring.stringify({
key: '"https://me.yahoo.com/a/xt4hQ7QYssA8hymJKv8MeVQQKGhq_1jwvas-#a6e6f"'
});
关于javascript - 对字符串进行编码以便通过 HTTP 请求发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5099869/