jQuery ajax逃脱了我的数据,我该如何防止这种情况?

时间:2014-09-19 11:27:06

标签: php jquery ajax escaping

我们说我有一个表单输入,当用户输入单词" TEST"时。我获取该表单值并将其发送到带有ajax的API:

var form_value = $('input').val();
$.ajax({
        url: 'ajax_handler.php',
        type: 'POST',
        dataType: 'json',
        data: {
            form_value: form_value,
        }
    })

在文件ajax_handler.php中,我要做的第一件事是var_dump($_POST['form_value']);

结果变为:string(8) "\"TEST\""。这是用户最初编写的内容版本。为什么?我在ini文件中关闭了php魔术引号设置,所以不是这样。似乎AJAX自动逃脱了它。

如何防止jQuery ajax逃脱我的价值?我希望它没有改变。

1 个答案:

答案 0 :(得分:0)

试试这个,

var form_value = $('input').val();
var rawData={"form_value":form_value}; //your desired format, however you want not to be altered
var finData= JSON.stringify(rawData);
$.ajax({
    url: 'ajax_handler.php',
    type: 'POST',
    dataType: 'json',
    data: finData
})