在jquery ajax请求中使用Ampersand

时间:2012-09-05 02:22:03

标签: jquery special-characters

我在表格行中有表单输入,我想通过ajax提交。

$(this).closest("tr").find("input,select,textarea").each(function(){$data+=$(this).attr('name')+'='+encodeURIComponent($(this).val())+'&';

我让一切正常 - 直到其中一个输入的值为&符号。我在this post上找到了一些有用的信息,并且使用了encodeURIComponent(如上所示),我能够让表单提交没有问题。我的问题是 - 在那篇文章中,@ T.J。克劳德提到他将如何“强烈推荐”使用@Darin Dimitrov的解决方案:

data: { id: thisId, value: thisValue }

我如何在我当前的代码中实现这一点?另外 - 使用第二个代码有什么好处,或者encodeURIComponent一样好吗?

1 个答案:

答案 0 :(得分:1)

您可以使用本机Javascript“Object”伪类。我真的不明白你的代码的目的;但是,假设它是正确的,应该是这样的:

$data = new Object;
$(this).closest("tr").find("input,select,textarea").each(function(){
  $data[$(this).attr('name')] = $(this).val();
});

希望这有帮助。