如何用撇号字符JQuery / Ajax替换serialize()表单字段?

时间:2017-08-01 18:20:41

标签: javascript jquery ajax serialization coldfusion

我使用JQuery提交表单数据。在我的一些领域中,允许使用撇号。在服务器端,我有验证,我注意到失败了。在我用撇号从我的一个参数中输出值后,我看到了引号之间的差异。这是一个例子:

'D’Ambrosio' 

正如你可以看到前面和末尾的单引号我输入了输出以进行测试,但D字母之后的一个引号/撇号来自我对该字段的参数值。我想知道如何解决这个问题?有没有办法阻止这种转换?这是我的ajax电话:

var formData = $('#'+frmID).serialize();

$.ajax({
    type: 'POST',
    url: 'Components.cfc?method='+frmID,
    data: formData,
    dataType: 'json'
}).done(function(obj){
    if(obj.STATUS === 200){
        //Here I handle response 
        return true;
    }else{
        return false;
    }
}).fail(function(jqXHR, textStatus, errorThrown){
    alert(errorThrown);
}); 

以下是我的序列化数据示例:

frm_lname   John'
frm_fname   Boozer
frm_dob 08/01/2010

1 个答案:

答案 0 :(得分:0)

在发送数据之前,您可以对字符串进行编码,然后在服务器上对其进行解码。这有助于保留任何“魔术”/保留字符,如引号。

alert(encodeURIComponent('D’Ambrosio'));