$ .getJSON не работает .. вообще - PullRequest
0 голосов
/ 12 мая 2011

Я пытаюсь передать массив PHP в jQuery с помощью JSON, но мне не очень везет.

$(".add-size").click(function(event) {

    $("#is_ajax").val('true');

    var dataString = 'ID=' + $("#product_ID").val() + '&size=' + $(this).val() + '&is_ajax=' + $("#is_ajax").val();

    $.getJSON( "../bin/func/actions/add.action.php", dataString, function(data) {
        $("#runningQuantity").text(data.runningQuantity);
        $("#runningTotal").text(data.runningTotal);
    });
    event.preventDefault();
});

- это jQuery, который не работает.

$list['runningTotal'] = $runningTotal;
$list['runningQuantity'] = $runningQuantity;

echo json_encode( $list );

является релевантным PHP в add.action.php, и строка, которую он создает, кажется, отформатирована ОК.Например:

{"runningTotal":90,"runningQuantity":18}

Но ничего не происходит ни в #runningTotal, ни в #runningQuantity, они просто остаются прежними?Возможно, я здесь полностью упускаю суть.

1 Ответ

0 голосов
/ 12 мая 2011

По документации Jquery данные для отправки на сервер должны быть в парах ключ-значение. Вы можете сделать одну из двух вещей:

$.getJSON( "../bin/func/actions/add.action.php", {Id : $("#product_ID").val(), .....}, function(data) {
        $("#runningQuantity").text(data.runningQuantity);
        $("#runningTotal").text(data.runningTotal);
    });

или добавить строку данных в URL, добавив? так что он становится строкой запроса.

$.getJSON( "../bin/func/actions/add.action.php?" + datastring, function(data) {
            $("#runningQuantity").text(data.runningQuantity);
            $("#runningTotal").text(data.runningTotal);
        });

НТН

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