Как получить печать в консоли браузера с помощью PHP

#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 функция вызывается после того, как пользователь нажимает завершить опрос