Отправка данных из внешнего интерфейса в конечный

0

Привет, я новичок в использовании JavaScript. У меня есть эта html-страница с кодами JavaScript, которые получают данные с сервера и отображают ее на этой текущей странице, что я пытаюсь сделать, это использовать эти данные и отправлять их на другую страницу PHP для мой SQL-запрос, чтобы получить результаты.

<script>
    var json = sessionStorage.xhr;
    var object = JSON.parse(json);
    var hard =  object["red-fruits"];
    var string = JSON.stringify (hard);
    var stringData = encodeURIComponent(string);
    $.ajax({
        type: "POST",
        url: "http://localhost/web/main.php",
        data: {"dataA" : stringData}, 
        cache: false,
            success: function(){
                console.log("OK");
            }
    });
    var user = sessionStorage.getItem('impData');
    console.log(user);
</script>

Это мои коды страниц PHP, то, что я здесь делаю, получает данные "dataA" с этой страницы html и отправляет их на эту страницу PHP для SQL-запроса и получает результаты, которые являются массивом "$ haha" и с использованием JavaScript чтобы отправить его обратно на страницу HTML. Но моя консоль показывает только "нуль", может ли кто-нибудь сказать мне, что я делаю что-то неправильно или любое предложение действительно оценено.

<?php

$connection = mysqli_connect("localhost","root","","") or 
die("Error " . mysqli_error($connection));
    if (isset($_POST['dataA'])) {
        echo $name = $_POST['dataA'];
    }
    else {
        echo "Error";
    }

$string = str_replace("]", "", str_replace("[", "", str_replace('"','',$falcon)));
$array = explode(',', $string);
$array2= implode("', '",$array);

$sql = // "SQL query"
$result = mysqli_query($connection, $sql) or die("Error in Selecting " . 
mysqli_error($connection));

while($row = mysqli_fetch_array($result)) {
    $haha[] =  $row['row_name'];
}

?>

<script type="text/javascript">
    var tills = <?php echo '["' . implode('", "', $haha) . '"]' ?>;
    console.log (tills);
    sessionStorage.setItem('impData', tills);
</script>
  • 0
    Не смешивайте PHP и JavaScript. Используйте скрытые входы для передачи данных из Php в JavaScript
Теги:

1 ответ

1
Лучший ответ

Теперь вы смешиваете данные ajax и сессии по странному пути. Данные сеанса, используемые вашим javascript, не будут обновляться php-скриптом до обновления вашей страницы. Правильный способ обработки данных - это функция "успех":

$.ajax({
        type: "POST",
        url: "http://localhost/web/main.php",
        data: {"dataA" : stringData},
        dataType : "json",
        cache: false,
            success: function(data){
                console.log(data);
            }
    });

и в вашем PHP вывести данные, которые вы хотите отправить в браузер, как строку json:

echo json_encode($your_object);
  • 0
    Так что я могу только отправить обратно строку JSON обратно на страницу HTML? но как я могу отправить его обратно на HTML-страницу без использования сессий?
  • 1
    Вам не нужны сеансы для отправки данных обратно. Страница, которую вы запрашиваете, возвращает json-строку. Ваш вызов ajax делает 2 вещи: он запрашивает страницу и получает ответ. Запрос представляет собой POST для « localhost / web / main.php » ширины данных «dataA», и он получает ответ вашей php-страницы в «data».
Показать ещё 4 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню