#php #jquery #json
#php #jquery #json
Вопрос:
Я тестирую свой php-код и хочу просмотреть файлы, которые я получаю из json, и проверить, как он отображается, чтобы я знал, как отправить код в mysql
php-файл
<?php
$json = json_decode(file_get_contents("php://input"));
$obj = json_decode($json,true);
print_r($json);
print_r($obj);
function debug_to_console( $data ) {
$output = $data;
if ( is_array( $output ) )
$output = implode( ',', $output);
echo "<script>console.log( 'Debug Objects: " . $output . "' );</script>";
}
debug_to_console( "Test" );
debug_to_console($obj);
print_r("hello");
echo "<script>console.log('" . json_encode($json) . "');</script>";
echo "<script>console.log('" . $obj . "');</script>";
echo "<script>console.log('" . '$obj' . "');</script>";
var_dump('Hello');
var_dump($obj);
var_dump($json);
header("Content-Type: application/json; charset=UTF-8")
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
Ничто из этого не выводится на консоль
Хотите, чтобы код печатался на консоли
Комментарии:
1. как выглядит исходный код html (щелкните правой кнопкой мыши -> просмотреть исходный код)?
2. почему вы дважды декодируете входящую строку json? Я сомневаюсь, что это сработает.. Убедитесь, что остальная часть вашего кода выполняется без остановки php / без ошибок. Часть console.log должна работать.
3. Вы можете использовать отладчик, например, XDebug
4. @Jeff Я обновил код и удалил двойное декодирование, у меня все еще возникают проблемы с печатью на консоли. Согласно вкладке «Моя сеть» в браузере, мой json успешно отправляется в этот php-файл и должен быть доступен для печати на консоли.
Ответ №1:
Вы можете попробовать следующую функцию
function consoleLogs($data) {
$html = "";
$coll;
if (is_array($data) || is_object($data)) {
$coll = json_encode($data);
} else {
$coll = $data;
}
$html = "<script>console.log('PHP: ".$coll."');</script>";
echo($html);
}
Вы можете использовать это как :-
consoleLogs(array("test1", "test2"));
Комментарии:
1. не лучше ли было бы выйти из объекта js, а не из строки json? (если это объект / массив)
2. @Jeff да, вы можете использовать эту функцию для массива, объекта и простой строки, она будет работать для всех.
3. Я не OP, это был просто намек на то, чтобы не указывать json на выходе
4. @RakeshJakhar это сработало для вас? Я все еще не могу печатать на консоли. Вот живая ссылка. highdemanddesigns.com/arc3s/survey функция вызывается после того, как пользователь нажимает завершить опрос