Использование jQuery для вставки данных в таблицу MySQL - PullRequest
0 голосов
/ 19 ноября 2009

Я пытаюсь заставить это работать, но у меня есть проблемы. Что мне здесь не хватает?

Я пытаюсь вставить некоторые данные через jQuery в локальную таблицу MySQL. Если я запускаю save.php самостоятельно, он вставляет пустую строку в БД, так что это работает. Есть идеи?

**index.php**

<html>
    <head>
        <link rel="stylesheet" type="text/css" href="css/style.css" />

        <script src="jquery.js" type="text/javascript"></script>

        <script type="text/javascript">
            $(document).ready(function() {
                $('form#submit').submit(function () {
                    var nume = $('#nume').val();
                    $.ajax({
                        type: "POST",
                        url: "save.php",
                        data: "nume="+ nume,
                        success: function() {
                            $('#nume').val('');
                        }
                    });
                return false;
                });
            });
        </script>
    </head>

    <body>

        <form id="submit" method="post">
            <p>Nume: <input id="nume" name="nume"  type="text"></p>
            <p><input id="submitButton" type="button" value="Submit"></p>
        </form>

    </body>
</html>


**save.php**

<?php
    mysql_connect('localhost', 'root', 'root') or die(mysql_error());
    mysql_select_db("test") or die(mysql_error());

    $nume = htmlspecialchars(trim($_POST['nume']));

    $add = "INSERT INTO ajax_test (nume) VALUES ('$nume')";
    mysql_query($add) or die(mysql_error());
?>

Ответы [ 3 ]

4 голосов
/ 19 ноября 2009

Вы уверены, что форма отправляется? Ваша кнопка не является типом ввода = "отправить" - это просто кнопка. Он не будет отправлять форму самостоятельно.

1 голос
/ 19 ноября 2009

пару вещей, которые вы можете сделать, чтобы помочь с устранением неполадок.

Вставьте предупреждение alert("submit"); после $('form#submit').submit(function () { , чтобы увидеть, отправляет ли форма. Также вставьте один из них в alert("success");, чтобы увидеть, получаете ли вы ответный вызов. Это покажет вам, на каком этапе происходит сбой, и поможет вам выполнить поиск.

Вы также можете использовать плагин firebug для firefox, чтобы увидеть, что отправляется через ajax, если он работает, чтобы увидеть, правильно ли вы получили какие-либо значения. Думаю, вам нужно поставить галочку Показывать запросы XMLHttp в консоли

1 голос
/ 19 ноября 2009

Если решение Скотта Сондерса не работает, попробуйте это:

вместо

url: "save.php",

попробовать:

url: "save.php?nume=testvalue",

Если это также не работает, проверьте, читает ли ваш PHP-скрипт входное значение из $_GET['nume'] или $ _POST вместо $_REQUEST['nume']

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