url - jQuery $.post - 我必须对 URL 参数进行编码吗?

标签 url jquery

我正在使用 $.post(url, cb) 进行 AJAX 调用。我传入的 URL 可能包含奇怪的字符,例如空格、&? 等。

我必须使用$.post(encodeURIComponent(url), cb)吗?

url 类似于 /foo/weird-char§

最佳答案

Do I have to use $.post(encodeURIComponent(url), cb)?

必须使用encodeURIComponent(),但不能在整个URI上使用,仅在数据部分使用(奇怪chars 在您的示例中)。 URL 和 ? & 分隔的参数必须保持完整。如果对整个 URI 进行编码,它将变得不可用。

如果您使用 data 参数将数据添加为 POST 数据:

url = "/foo/possible";
$.post(url, { "weird": "f2(90§§$", "chars": "ß1028490" });

jQuery 的 Ajax 函数会自动处理数据的 URL 编码。

关于url - jQuery $.post - 我必须对 URL 参数进行编码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5244090/

相关文章:

javascript - 使用ajax响应获取文本框中的值

php - 根据按下的按钮使用 jQuery 将数据发送到另一个页面

javascript - jQuery 空选择器(null 选择器)

jquery - 如何动画一个 div 打开其内容的大小

python - 如何检查请求中的 URL 是否可下载

asp.net-mvc - IIS 无法提供以 .config 结尾的页面

java - 帮助在 Google Web Toolkit 项目中使用 JAVA URL

javascript - 在 Fullcalendar 中设置事件渲染日期的格式

ASP.NET 在 Render() 之前执行函数

php - 如何在 URL 中发送 PHPSESSID?