我们说我有一个表单输入,当用户输入单词" 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逃脱我的价值?我希望它没有改变。
答案 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
})