JQuery AJAX Post не работает - PullRequest
       10

JQuery AJAX Post не работает

2 голосов
/ 07 декабря 2009

Я не могу понять, почему этот скрипт не работает. Это связано с чем-то внутри скрипта / функции AJAX POST. Прямо сейчас, когда я нажимаю «отправить» в моей форме, он запускает код php на той же странице. Для этого нужно отправить значения формы в project_ajax.php, а затем на странице вернет переменную успеха, которая будет истинной или ложной.

$(document).ready(function () {
    $('div#didIt').hide();
    $('form[name=adminForm]').submit(function () {
        $.post('/project_ajax.php', {
            action: $('[name=action]').val(),
            pId: $('[name=pId]').val(),
            name: $('[name=name]').val(),
            url: $('[url=url]').val(),
            summary: ('[summary=summary]').val()
        }, function (data) {
            if (data.success) {
                $('div#didIt').slideDown('slow');
            } else {
                alert('Failed SA!');
            }
        }, 'json');
        return false;
    });
});

Ниже приведен код для project_ajax.php ...

if($_POST['action'] == "update") {
    //Prep the field for Query Entry!-----------------------------------
    $pId     = $_POST['pId'];
    $name    = trim(mysql_prep($_POST['name']));
    $status  = 1;
    $url     = trim(mysql_prep($_POST['url']));
    $tumb    = false; //False because I still need to make a script for it.
    $summary = trim(mysql_prep($_POST['summary']));
    $creater = $_SESSION['userId'];
    $created = date("Ymd");

    $q = "UPDATE " . DB_NAME . ".`projects` SET 
                    name    = '{$name}',
                    status  = '{$status}',
                    url     = '{$url}',
                    summary = '{$summary}',
                    creater = '{$creater}',
                    created = '{$created}'
              WHERE `projects`.`id` = {$pId}";
    $r = mysql_query($q, $connection);
    if ($r) {
        //Successful
        $data['success'] = true;
        $date['error']   = false;
        $date['message'] = "You are the Greatest!";

    } else {
        //Fail
        $data['success'] = false;
        $data['error']   = true;
        $date['message'] = "You can't do it fool!";

    }

} else {
    $data['success'] = false;
    $date['error']   = true;
    $data['message'] = "You Failed Stupid!";
}

echo json_encode($data);

Примечание: при загрузке этой страницы. Браузер никогда по-настоящему не загружается. Синее кольцо на вкладке заголовка в IE8 вращается, как будто страница никогда не загружается.

1 Ответ

4 голосов
/ 07 декабря 2009

На этой строке:

  summary: ('[summary=summary]').val()},

У вас отсутствует $, представляющий функцию jQuery. Исправлено:

summary: $('[summary=summary]').val()},

Поскольку у вас есть ошибка Javascript, выполнение прекращается. Таким образом загрузка занимает вечность.

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