ПОСТ с Javascript AJAX - PullRequest
       1

ПОСТ с Javascript AJAX

0 голосов
/ 28 ноября 2018

В настоящее время я пишу какое-то программное обеспечение для опросов, и, хотя оно работает нормально, у меня возникают проблемы с работой некоторых моих javascript.У меня есть кнопка с надписью «Добавить новую опцию», которая при нажатии вызывает следующую функцию javascript:

function newoption()
{
    var option = "";
    while((option.length < 1)||(option.length > 150))
    {
        var option = prompt("Please enter the option value... ").trim();
    }
    var add = confirm("You entered " + option + ", are you sure?");
    if(add==1)
    {
        var code = window.location.href.length;
        var poll = prompt("Which poll are you adding this to?", window.location.href.substring(code - 5, code));
        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) 
        {this.responsetext = option;}};
        xhttp.open("POST", "../special/new.php", true);
        xhttp.send("poll=" + poll + "&opt=" + option);
    }
    else
    {
        alert("OK... try again");
    }
}

На странице, которую она публикует, есть функция добавления опции в опрос, который пользовательпредоставляет код для (он автоматически получает его с конца URL), но проблема в том, что, когда я обновляю страницу, список параметров не обновляется, что заставляет меня думать, что он не добавляется в базу данных, аФункция добавления новых опций работает при создании опроса.Я что-то не так делаю?

Код для new.php:

<?php require("internal/index.php");
$option = string_format($conection, $_POST["opt"], 1)
$poll =(int) $_POST["poll"];
if($poll&&$option)
{
        new_poll_option($connection, $poll, $option);
}
?>

1 Ответ

0 голосов
/ 29 ноября 2018

Из того, что вы написали, я понимаю, что код работает, пока вы не обновите страницу.Это означает, что вы не проверяете ответ Ajax и просто вставляете какой-то HTML-код, который будет действовать до тех пор, пока вы не обновите страницу.

Вам нужно посмотреть в своей базе данных, если элементы были созданы.Если он создан, возможно, вам нужно удалить кеш браузера (это можно сделать на вкладке «Сеть» в DevTools в Chrome).Если элементы не были вставлены в базу данных, вам нужно отладить или просто echo сообщение от использованной вами функции insert .

Вы также можете использовать form ине используйте Ajax , если вы все равно обновите страницу через несколько минут.

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