javascript - 对字符串进行编码以便通过 HTTP 请求发送?

标签 javascript node.js encode

我使用 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/

相关文章:

javascript - css:缩小时保持浏览器居中

android - 在 Android 中从 socket.IO 解析 JSONArray

javascript - crypto 模块可以替代 bcryptjs 和 jsonwebtoken 吗?你会推荐吗?

haskell - 被 0 返回困扰

javascript - enzyme 测试认证高阶组件(HOC)

javascript - 如何将 createProxyMiddleware 与嵌套逻辑一起使用

java - 如何将位图图像存储到 XML 中

python - 我只想下载此 URL...但它给我一个错误! ...unicode..(Python)

javascript - 正则表达式仅获取 Javascript 中的第一次出现

javascript - 将一个文件中的上下文传递给另一文件中定义的函数