Вызов Ajax jQuery может принять объект на Succes от PHP?

Я пишу простую функцию ajax и надеюсь заполнять два поля ввода текста с результатами 'успеха'. Я задаюсь вопросом, что мой php синтаксис должен быть должен возвратить объект.

Вот моя функция JavaScript

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        url: 'includes/ajaxCalls.php',
        success: function(data) {
            alert(data['title']); // <-- This is where I'm not sure what to return from php
        }
    });
}

Вот мой php документ (до сих пор, это - то, где я должен знать, как возвратить объект)...

<?php
$data =  array('title'=>'this');
echo json_encode($data);

Когда я выполняю функцию, я просто получаю "неопределенное" предупреждение.

Предложения?

Спасибо,-J

1
задан Howard Zoopaloopa 11 May 2010 в 14:48
поделиться

4 ответа

Попробуйте это. Вы можете указать, что ожидаете объект JSON, и тогда вы сможете интерпретировать data соответствующим образом.

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        dataType: 'json',
        url: 'includes/ajaxCalls.php',
        success: function(data) {
            alert(data.title);
        }
    });
}
2
ответ дан 3 September 2019 в 00:40
поделиться

Я вернул данные JSON с сервера через вызов jQuery Ajax, не в PHP, но это должно быть то же самое. Пока вы устанавливаете тип содержимого ответа application/json, jQuery должен рассматривать responseText как строку JSON. В качестве альтернативы вы также можете установить dataType: "JSON" в вашем вызове Ajax, что скажет jQuery, что вы ожидаете JSON.

0
ответ дан 3 September 2019 в 00:40
поделиться

Ваша php-страница возвращает: {"title": "this"} в данном случае. Поэтому вы можете сослаться на результат с помощью:

alert(data.title);

0
ответ дан 3 September 2019 в 00:40
поделиться

Вам может потребоваться указать тип данных:

function editModule(a){
    data = {moduleNum:a}
    $.ajax({
        type: 'POST',
        data: data,
        url: 'includes/ajaxCalls.php',
        dataType: 'json',
        success: function(data) {
            alert(data['title']); // <-- This is where I'm not sure what to return from php
        }
    });
}
0
ответ дан 3 September 2019 в 00:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: