JQuery .post не работает, похоже, не загружает пост - PullRequest
0 голосов
/ 23 июля 2011

Это сбивает с толку ... Я не понимаю, почему это не работает ... кажется довольно простым:

var _t = $('#newbook-title').serialize();
var _a = $('#newbook-author').serialize();
var _u = $('#newbook-authorurl').serialize();
var _w = $('#newbook-why').serialize();

$.post("newbook.php", {t: _t, a: _a, u: _u, w: _w}, function(data) {
    alert( data.status + ',' + data.message);
});

Тогда в моем newbook.php:

<?php
    echo "{\"status\": \"false\", \"message\":\"Made it here.\"}";
    return;
?>

Предупреждение всегда неопределено, неопределено Почему?Я также попробовал .val () вместо .serialize ()

1 Ответ

4 голосов
/ 23 июля 2011

Возможно, потому что содержимое не интерпретируется как JSON.Скажите $.post, какой формат вы ожидаете получить:

$.post("newbook.php", {t: _t, a: _a, u: _u, w: _w}, function(data) {
    alert( data.status + ',' + data.message);
}, 'json');

Другой вариант - отправить заголовок типа контента JSON, который jQuery будет интерпретировать для вас.Это более соответствующий стандартам «правильный» подход:

// before content is output in your PHP script
header('Content-type: application/json');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...