2013-11-27 3 views
0

У меня есть AJAX POST, результат JSON:AJAX POST JSON

$.ajax({ 
    type: "POST", 
    url: "../../api/test", 
    data: JSON.stringify(source), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (result) { 
    var upload = JSON.stringify(result); 
    console.log(upload); 
    } 
}); 

Результат загрузки является:

{"Link":0,"Title":"d","Description":"dada","Keywords":"dad"} 

Как я могу получить значение Title?

+2

'result' - это объект. Просто используйте его. – SLaks

+0

Я настоятельно рекомендую просто публиковать POST, а не создавать строку JSON, которую сервер должен декодировать. Что такое серверная технология, которую вы используете? PHP, ASP, Perl? – MonkeyZeus

ответ

3

Не стягивайте результат, просто используйте result.Title.

+0

Yup. Для справок в будущем, если у вас возникнут какие-либо сомнения относительно того, что вы возвращаете, неплохо было бы отладить скрипт внутри вашего браузера. Просто установите точку останова внутри функции «success», и вы сможете увидеть содержимое «результата», которое вы вернетесь. –

-1

Поскольку у вас уже есть строка JSON, это просто, как пирог! Все, что вам нужно сделать, это вызвать свойство, которое вы хотите, из переменной, которой вы присвоили свой результат.

, например:

var post_response; 
$.ajax({ 
    type: "POST", 
    url: "../../api/test", 
    data: JSON.stringify(source), 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (result) { 
     post_response = JSON.stringify(result); 
     console.log("Title: "+post_response.Title); 
    } 
}); 

надеюсь, что это помогает.

+1

'post_response' будет пуст при попытке зарегистрировать его, потому что он заполняется внутри асинхронного обратного вызова. – moonwave99

+0

jQuery знает, что вы используете contentType json и конвертируете json в объект для вас, вам не нужен JSON.parse (здесь ваша опечатка) для этого – igor

+0

^moonwave99, мой плохой .. Я только что изменил свой код. @kitty, я просто скопировал код, который написал пользователь выше ^ – rand0m

Смежные вопросы