jQuery, как вернуть json из $.post() в функцию

206
06 октября 2018, 21:10

Напишите пожалуйста человеческим языков как получить json ответ из $.post() ?

function products(){ 
  var json = $.post('url', function(data){ 
    // в переменной "data" json ответ 
  }); 
  return json; 
} 
console.log(products()) // возвращает object
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Пробовал через .done(function() { }) , не помогло.

Есть похожие ответы, пишут что это делается как то асинхронно, но только вот как, не могу додуматься, нужно вернуть целиком то что в переменной data

Желательно пример, чтобы по нему было понятно почему так.

Answer 1

С .done() ваш код будет выглядеть так:

function products(){
  var json = $.post('url')
  return json;
}
products().done(function(data){
  console.log(data)
});

Более эстетично будет так:

let products=()=>$.post('url')
products().done(data=>{
  console.log(data)
})
READ ALSO
js/jqyery библиотека для форматирования html в textarea?

js/jqyery библиотека для форматирования html в textarea?

Нужно вывести в textarea кусок html разметки тестомПри этом разметка приходит с сервера в виде неформатированной строки

169
Router на чистом JS(single page app)

Router на чистом JS(single page app)

Пытаюсь написать роутерОн есть написанный и все в принципе в нем работает нормально, но когда я просто вставляю url отличный от маппинга '/', то появляется...

547
Ajax возвращает ошибку 502/500

Ajax возвращает ошибку 502/500

подскажите пж-таЕсть админка, в админке кнопка вкл/выкл которая отправляет в контроллер get запрос

186
Резкая анимация на iOS и&#160;Android

Резкая анимация на iOS и Android

Я сделала анимацию при клике, и на компьютере она выглядит хорошоПроблема в том что на iOS и Android девайсах анимация очень резкая, и выглядит...

237