我有一个包含“&”的输入comment
。如何使用带有此值的jQuery ajax get方法?
例如:
index.php?comment=i&you
其中评论字段的实际值为i&you
,将错误地用作网址。
答案 0 :(得分:3)
在第二个参数(数据)中将参数作为映射传递。
$.get("index.php", {"comment": "i&you"});
jQuery会关注URL编码。
或者,如果这些值实际来自表单,只需执行
$.get("index.php", $("#formid").serialize());
答案 1 :(得分:1)
使用escape()
功能:
var comment = 'i&you';
var url = 'index.php?comment=' + escape(comment); #=> index.php?comment=i%26you
修改强>
错过了jQuery部分,抱歉。在$.ajax()
来电中,请执行:
$.ajax('index.php', {
'data': { 'comment': 'i&you', ... }
...
});
通过将对象(或字符串)传递给data
参数(documentation)中的options
属性,可以确保正确转义数据,而无需显式执行你自己。
答案 2 :(得分:1)
我建议使用serialize方法向您的请求添加数据。 Serialize将为您正确编码数据。
$.get( 'index.php', $('form').serialize(), function(result) {
// do something with result
});
或者只是发回一个输入:
$.get( 'index.php', $('input#comment').serialize(), function(result) {
// do something with result
});
答案 3 :(得分:0)
我不太清楚你的意思,但是要使用jQuery运行AJAX调用,你会做以下事情:
$.ajax({
url: "index.php?comment=i&you",
context: document.body,
success: function(){
// Whatever you need to do goes in this function
}
});