【发布时间】:2025-12-31 18:55:01
【问题描述】:
假设我有一个表单输入,当用户输入单词“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 转义我的值?我希望它保持不变。
【问题讨论】:
-
试试 dataType: 'text',
-
嗯,你需要解析它,例如
json_decode($_POST['form_value'], true) -
遗憾的是,这些建议都没有奏效。