Я пишу простую функцию 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
Попробуйте это. Вы можете указать, что ожидаете объект 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);
}
});
}
Я вернул данные JSON с сервера через вызов jQuery Ajax, не в PHP, но это должно быть то же самое. Пока вы устанавливаете тип содержимого ответа application/json, jQuery должен рассматривать responseText как строку JSON. В качестве альтернативы вы также можете установить dataType: "JSON" в вашем вызове Ajax, что скажет jQuery, что вы ожидаете JSON.
Ваша php-страница возвращает: {"title": "this"} в данном случае. Поэтому вы можете сослаться на результат с помощью:
alert(data.title);
Вам может потребоваться указать тип данных:
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
}
});
}