在传递给jQuery ajax数据参数之前清理字符串

时间:2010-08-02 06:37:24

标签: asp.net jquery web-services

在ASP.Net上使用jQuery ajax时,我们需要通过字符串编辑的json传递所需的参数。我唯一关心的是字符串有单个&双引号。我尝试对这些进行替换并插入转义字符,但遗憾的是它不起作用。

帮助!

更新

 var relativeName = $('#<%= txtRelativeName.ClientID %>').val().replace("'", "\'");

 $.ajax({ data: "{ relativeName: '" + relativeName + "'" });

2 个答案:

答案 0 :(得分:2)

忘记手动编码参数。试试这样:

var relativeName = $('#<%= txtRelativeName.ClientID %>').val();
$.ajax({ 
    data: JSON.stringify({ relativeName: relativeName }),
    ...
});

答案 1 :(得分:0)

如果我理解正确,.NET页面需要在POST参数内作为JSON编码的字符串提交数据。您可以使用jquery-json来完成此任务:

var encoded = $.toJSON({ some: 'parameter' }); 
$.post(
 url: 'something.aspx',
 data: {
   jsonstr: encoded
 }
}