Ajax调用替换单引号jquery

Ajax调用替换单引号jquery,jquery,ajax,json,Jquery,Ajax,Json,每当($(link).parent().find(“div.divComments”).find('.taComments').val())返回此函数中只有一个引号的值时,它就会失败 有任何修正吗?将单引号转义。像这样的 function RejectItem(link, compqID, comments, officerID) { if ($(link).parent().find("div.divComments").is(":visible")) { $.ajax

每当
($(link).parent().find(“div.divComments”).find('.taComments').val())
返回此函数中只有一个引号的值时,它就会失败


有任何修正吗?

将单引号转义。像这样的

function RejectItem(link, compqID, comments, officerID) {
    if ($(link).parent().find("div.divComments").is(":visible")) {
        $.ajax({
            type: "POST",
            url: "../contentService.asmx/RejectComplianceItem",
            data: "{ 'compqID': '" + compqID + "', 'comments': '" + $(link).parent().find("div.divComments").find('.taComments').val() + "', 'officerID': '" + officerID + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                hideRow(compqID);
            }
        });
    } else {
        $(link).parent().find("div.divComments").show();
    }
}

是否要将发送的数据编码为JSON?如果是这样,那么您的JSON无论如何都是无效的。字符串和键必须用双引号括起来

使用:

JSON
实现也可用

试试这个

data: JSON.stringify({
    compqID: compqID,
    comments: $(link).parent().find("div.divComments").find('.taComments').val(), 
    officerID: officerID
}),

@Richard:它将对象编码为JSON。比手动构建要好,而且它能处理正确的转义。@Richard:在最近的浏览器中,
JSON
是内置的。jQuery只提供了一个解析JSON的方法,这正是我想要的。谢谢大家!@用户856246:请点击旁边的勾选框接受答案。
data: JSON.stringify({
    compqID: compqID,
    comments: $(link).parent().find("div.divComments").find('.taComments').val(), 
    officerID: officerID
}),
function RejectItem(link, compqID, comments, officerID) {
        if ($(link).parent().find("div.divComments").is(":visible")) {
            var data = { 'compqID': compqID, 'officerID': officerID, 
                  'comments': $(link).parent().find("div.divComments").find('.taComments').val()};

            $.ajax({
                type: "POST",
                url: "../contentService.asmx/RejectComplianceItem",
                data: data,
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(msg) {
                    hideRow(compqID);
                }
            });
        } else {
            $(link).parent().find("div.divComments").show();
        }        


    }