Uncaught SyntaxError: Unexpected end of input (jquery)

jQuery函数传值问题

有时候会遇到以下问题:
Uncaught SyntaxError: Unexpected end of input

这个是因为你传入的参数中,包含了空格或者其他jquery不支持的符号,包括空格等等,需要先将这些常见字符替换掉。

function makeColBtn(data){
   var openStatus = data.openStatus;

    var str = "";
    var openStatusToStr = "";
    if (Number(openStatus) == 1) {
        openStatusToStr = '<button type="button" onclick="closeJoin(' + JSON.stringify(data.joinGroupNo).replace(/"/g, '&quot;') + ')" class="btn btn-danger btn-sm">关闭拼团</button>';
    } else if (Number(openStatus) == 0) {
        openStatusToStr = '<button type="button" onclick="" class="btn disabled btn-sm">已关闭</button>';
    }
    str = openStatusToStr + '&nbsp;&nbsp;<button type="button" onclick="toHandleRemark(this)" class="btn btn-info btn-sm">备注</button>';
    return str;
}

//关闭拼团
function closeJoin(joinGroupNo) {
    var text = "确认关闭拼团吗?";

    wybc.alert({
        text: text
    }, function ($modal) {
        $.ajax({
            url:'join/u_join_open_status',
            type:'post',
            data:{
                joinGroupNo: joinGroupNo,
                openStatus: 0  // 0:关闭
            },
            success: function(res){
                if (res.code) {
                    return;
                }
                $modal.modal('hide');
                // 刷新
                $datatable.ajax.reload();
            }
        });
    });

}

需要将

JSON.stringify(data.joinGroupNo)

改为

JSON.stringify(data.joinGroupNo).replace(/"/g, '&quot;') 

猜你喜欢

转载自blog.csdn.net/qq_22638399/article/details/82835964