在javascript中将空格编码为+

0 javascript ajax

我已经调整了一些代码来通过MySQL查询填充下拉选择框,我的最终"结果"需要附加到新的"搜索"URL.

var result = $("select#model option:selected").html();
$.post (location.href="advanced_search.php?" + "keywords=" + result, function(data){;
Run Code Online (Sandbox Code Playgroud)

我的问题是result包含我需要转换为的空格+,所以:

/advanced_search.php?keywords=2001-2004 Honda Civic TypeR
Run Code Online (Sandbox Code Playgroud)

需要阅读:

/advanced_search.php?keywords=2001-2004+Honda+Civic+TypeR
Run Code Online (Sandbox Code Playgroud)

我整晚都在寻找解决方案,但是我很难找到能用我有限技能实现的东西!

Aln*_*tak 5

使用datajQuery的AJAX方法的参数,您将不需要转义任何东西 - 它将由jQuery完成.

此外,此查询可能应该是GET,而不是POST.分配给location.href您时会导致页面重新加载新URL,而不是真正的AJAX请求.

var result = $("select#model option:selected").html();
$.get("advanced_search.php", {
     keywords: result
}, function() { ... });
Run Code Online (Sandbox Code Playgroud)

恕我直言,几乎没有充分的理由手工创建POST或GET参数 - 使用键/值对的对象要简单得多.