0

Здравствуйте! Нужна помощь при работе с phantomjs. Есть функция:

function auth(url, login, password)
      {
      var page = require("webpage").create();
      var post_data = 'login=' + login + '&password=' + password;
      page.open(url, 'post', post_data, function(status) {
        if (status !== 'success')
        {
          phantom.exit();
        }
        else
        {
          return page.plainText;
        }
     }); 
    }

console.log(auth(url, 'login', '12345'));

Дело в том, что функция вернёт undefined вместо содержимого страницы page. Как сделать так, чтобы возвращалось содержимое страницы? И чтобы можно было повторно вызвать данную функцию в коде дальше, чтобы всё работало на ура? Есть какие-то варианты?

WarFire
  • 55
  • я заменил return page.plainText; на set_post_result(page.plainText); и создал функцию function set_post_result(result_data) { return result_data; } – WarFire Feb 26 '18 at 20:47
  • Если вместо return result_data прописать console.log(result_data) то выводит значение, но опять же не выводит return result_data, а пишет undefined – WarFire Feb 26 '18 at 20:47
  • Комментарии не предназначены для расширенной дискуссии; разговор перемещён в чат. – Qwertiy Feb 26 '18 at 22:18
  • А теперь дочитай ответ до конца и пойми, что так, как ты хочешь, не заработает. – Qwertiy Feb 26 '18 at 22:19
  • Если у тебя есть вариант решения, поделись. – WarFire Feb 27 '18 at 03:29
  • Что значит, так как я хочу, не заработает? Если вариант с функцией никак нельзя заставить заработать, то объясните, почему? А как тогда заработает? Варианты по линку от D-side пробовал, проблема та же осталась. Варианты работают только с console.log(), а для return значения нет! – WarFire Feb 27 '18 at 03:52
  • Сам, пока что, не могу разобраться, поэтому прошу, помогите, пожалуйста, решить задачку. – WarFire Feb 27 '18 at 06:05
  • Предложите хоть какой-то вариант решения. Главное, чтобы работало по условиям выше. – WarFire Feb 27 '18 at 16:20
  • Для return значения нет и не будет. Почему - подробно описано в ответе по ссылке. – Qwertiy Feb 27 '18 at 21:14

0 Answers0