Задать вопрос

Как распарсить ответ сервера после $ajax() запроса?

Отправляю запрос так:
function send() {
var uri = 'http://127.0.0.1:5000/todo/api/v1.0/tasks';
var method = 'GET'
var request = {
    url: uri,
    type: method,
    contentType: "application/json",
    accepts: "application/json",
    cache: false,
    dataType: 'json',    
};    
return $.ajax(request);   
};

в логе прилетает вот такая каша (лог ниже), typeof говорит, что это объект, не могу понять как мне извлечь responseText ?
{readyState: 1, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}abort: ƒ ( statusText )always: ƒ ()complete: ƒ ()done: ƒ ()error: ƒ ()fail: ƒ ()getAllResponseHeaders: ƒ ()getResponseHeader: ƒ ( key )overrideMimeType: ƒ ( type )pipe: ƒ ( /* fnDone, fnFail, fnProgress */ )progress: ƒ ()promise: ƒ ( obj )readyState: 4responseText: "{↵    "tasks": [↵        {↵            "title": "Buy groceries",↵            "description": "Milk, Cheese, Pizza, Fruit, Tylenol",↵            "done": false,↵            "uri": "/todo/api/v1.0/tasks/1"↵        },↵        {↵            "title": "Learn Python",↵            "description": "Need to find a good Python tutorial on the web",↵            "done": false,↵            "uri": "/todo/api/v1.0/tasks/2"↵        }↵    ]↵}↵"setRequestHeader: ƒ ( name, value )state: ƒ ()status: 200statusCode: ƒ ( map )statusText: "OK"success: ƒ ()then: ƒ ( /* fnDone, fnFail, fnProgress */ )__proto__: Object

Если запрос отправить вручную в браузере 127.0.0.1:5000/todo/api/v1.0/tasks, то возвращается нормальный json:
{
    "tasks": [
        {
            "title": "Buy groceries",
            "description": "Milk, Cheese, Pizza, Fruit, Tylenol",
            "done": false,
            "uri": "/todo/api/v1.0/tasks/1"
        },
        {
            "title": "Learn Python",
            "description": "Need to find a good Python tutorial on the web",
            "done": false,
            "uri": "/todo/api/v1.0/tasks/2"
        }
    ]
}
  • Вопрос задан
  • 743 просмотра
Подписаться 2 Простой Комментировать
Решения вопроса 2
Krasnodar_etc
@Krasnodar_etc
fundraiseup
Можно даже проще делать
var uri = 'http://127.0.0.1:5000/todo/api/v1.0/tasks';
$.get(uri, function (data) {
  console.log('data from server --- ', data);
})


Если нужен всё таки вариант из вопроса - смотрите тут про .done()
Ответ написан
VladimirAndreev
@VladimirAndreev
php web dev
открой для себя
$.ajax({}).done(function(json){ console.log(json); });

или
$.ajax({"success":function(json){ console.log(json); }};
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
23 дек. 2024, в 09:41
5000 руб./за проект
23 дек. 2024, в 09:39
1000000 руб./за проект