javascript - URL 为 AJAX 请求在 jQuery 中编码一个字符串

标签 javascript jquery ajax http

我正在我的应用程序中实现 Google 的即时搜索。我想在用户输入文本输入时触发 HTTP 请求。我遇到的唯一问题是,当用户到达名字和姓氏之间的空格时,该空格没有被编码为 +,从而中断了搜索。如何用 + 替换空格,或者只是安全地对字符串进行 URL 编码?

$("#search").keypress(function(){       
    var query = "{% url accounts.views.instasearch  %}?q=" + $('#tags').val();
    var options = {};
    $("#results").html(ajax_load).load(query);
});

最佳答案

试试 encodeURIComponent .

Encodes a Uniform Resource Identifier (URI) component by replacing each instance of certain characters by one, two, three, or four escape sequences representing the UTF-8 encoding of the character (will only be four escape sequences for characters composed of two "surrogate" characters).

例子:

var encoded = encodeURIComponent(str);

关于javascript - URL 为 AJAX 请求在 jQuery 中编码一个字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6544564/

相关文章:

javascript - 多个复选框,绑定(bind)到 Vue JS 中的同一个数组

javascript - 在页面加载之前调用 javascript 函数

jquery - 从 Spring MVC 向 jQuery 报告错误的最佳实践

javascript - 在javascript中的ajax调用中将字符串转换为数组

javascript - 使用 jquery 查找类似名称的变量

php - Yii2 ajax 验证不起作用

javascript - 为什么我的 API key 在 openAI 调用中触发错误?

javascript - MySQL 查询由于某种原因未执行

javascript - html2canvas 教程?

javascript - 从选项更改元素的文本