通过jQuery AJAX post传递用户数据 - 需要转义?

时间:2014-04-23 17:15:42

标签: jquery ajax

我有一个表单,用户将输入一些详细信息,我希望通过AJAX发布;我用来做这个的代码就像下面的那样..

var comments = $('#comments').val(); // User Data

// Set file to get results from..
var loadUrl = "ajax_files/leave_comments.php";

// Set parameters
var dataObject = { comments: comments };

// Run request

getAjaxData(loadUrl, dataObject, 'POST', 'html')

    .done(function(response) {

        // do stuff

    })

    .fail(function() {
        // show error
    });

// End

function getAjaxData(loadUrl, dataObject, action, type) {

    return jQuery.ajax({
        type: action,
        url: loadUrl,
        data: dataObject,
        dataType: type
    });    

}

现在,我想知道因为我不知道用户将要输入什么,在将数据作为数据参数传递给jQuery之前是否需要对数据进行任何操作?

其次,当我通过leave_comments.php变量从$_POST文件中获取jQuery中的数据时,我是否需要对其执行任何操作?

1 个答案:

答案 0 :(得分:1)

我认为用户数据包含'或'\“字符。在发送ajax请求之前尝试替换它们。

    var comments = $('#comments').val();
    comments = comments .replace(/\\/g, '?');
    comments = comments .replace(/'/g, "\\'");