Допустим, у меня есть форма ввода и когда пользователь вводит слово «ТЕСТ». Я беру это значение формы и отправляю его в API с помощью ajax:
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\""
, Который не является эспрессированной версией того, что изначально написал пользователь. Зачем? У меня отключена настройка php magic quotes в INI-файле, так что это не так. Кажется, что AJAX авто избегает его.
Как я могу предотвратить выход jQuery ajax из моего значения? Я хочу, чтобы это не изменилось.
Попробуй это,
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
})
Других решений пока нет …