Получить вывод php на стороне сервера через select2 x-editable
Я использую select2 v3.5.4 и X-editable v1.5.0
у меня есть editable
с помощью select2
отправка данных через POST в скрипт PHP, работающий на сервере, и я пытаюсь распечатать вывод сервера в консоль js. Я пытаюсь это с помощью success()
функция, но все, что я получаю в консоли Chrome после выбора значений и нажатия кнопки подтверждения, это просто undefined
,
Javascript:
$(".sel").editable( {
source : [{id: '1', text: 'One'},
{id: '2', text: 'Two'},
{id: '3', text: 'Three'}],
select2 : {multiple: true},
url : "animalsDetailsEdit.php",
dataType: 'JSON',
success : function(response, newValue) {
console.log(response);
},
error : function(){
console.log("Error");
}
});
Серверный PHP:
<?php
echo json_encode("TEST MESSAGE");
?>
Я пробовал несколько комбинаций параметров, но безрезультатно.
1 ответ
Я обычно устанавливаю заголовок своего вывода PHP, чтобы javascript мог легко прочитать вывод, а также отключить создание отчетов об ошибках, чтобы API стал идеальным для его чтения Javascript.
<?php
error_reporting(0);
...
...
...
header('Content-Type:application/json;');
echo json_encode("TEST MESSAGE");
Вы также можете установить набор символов, например, "UTF-8" и т. Д. В заголовке. Этот вывод легко читается с помощью javascript... Еще одна вещь, которую я заметил, это то, что тестовое сообщение - это строка, а не массив, я предлагаю вам сделать это следующим образом...
<?php
error_reporting(0);
$output = array();
$output['status'] = true;
$output['message'] = 'Test Message';
header('Content-Type:application/json;');
echo json_encode($output);
в Javascript вы можете использовать выходной массив для проверки статуса, а также сообщения. или Вы можете сделать другую переменную для ошибки, где вы также можете поместить сообщение об ошибке...
<?php
$output['status'] = false;
$output['error'] = 'error message';
$output['data'] = array();