как использовать данные формы каждую секунду с ajax - PullRequest
0 голосов
/ 31 августа 2018

Я очень смущен. Может кто-нибудь мне помочь? Вот код:

index.php =>

<html>
<head>
<script src="jquery-1.2.6.min.js"></script>
<script>
    function chk(){
        var name = $('#name').val();
        $.ajax({
            type:"post",
            url:"test.php",
            data:{name:name},
            cache:false,
            success:function(html){
                $('#msg').html(html);
            }
        });
        return false;
    }
    setInterval (function chk() , 1000);
</script>
</head>
<body>
<form>
    <input type="text" id="name">
    <input type="submit" value="submit" onclick="return chk();return false;">

</form>

<p id="msg">Loading</p>
</body>
</html>

и test.php =>

<?php
$name = $_POST['name'];// $name is constant for each request that submited from ajax($name is a parameter)


$api -> new server_data();  

$results = $api ->show($name); 

print_r($result);//This data updates from server in every second

=============================================== ========================

Я пытаюсь подключиться к API, но в этом API данные меняются каждую секунду, и я должен увидеть эти изменения. С другой стороны, я должен установить значения по умолчанию с помощью формы.

Но проблема здесь в том, что при каждой отправке формы отправленное значение в test.php будет нулевым, и запрос ajax не будет работать.

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 31 августа 2018

Попробуйте добавить атрибут name к вашему элементу ввода имени.

<input type="text" id="name" name="name">

Ваша переменная PHP $_POST['name'] ищет элемент ввода с атрибутом html name="name", тогда как у вас был только атрибут html id="name".

Источник: PHP: работа с формами

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...