2013-08-22 3 views
1

Я работаю над записью своих банковских выписок с помощью CasperJS, до сих пор мне удалось войти в систему и перейти на страницу инструкций. Я сделал, чтобы получить таблицу с первой страницей инструкции, но мне нужно ее заполнить.CasperJS POST через AJAX не работает

Веб-сайт банка имеет возможность экспортировать в .txt-файл (например, на самом деле CSV), но для его загрузки я должен иметь возможность загружать файл, который поставляется в виде вложения в заголовке ответа запрос POST, когда я отправлю форму, нажав кнопку.

Итак, я понял, что могу сделать POST через AJAX, получить ответ и вывести его. Я попытался запустить код на консоли firebug, и он работает, но по какой-то причине он просто не работает в CasperJS.

Btw, я попытался с помощью --web-безопасности = нет, до сих пор не работает

Это, как я пытаюсь сделать это:

  this.then(function() { 
       eurl = "http://bankurl.com"; 
       response = this.evaluate(function() { 
       params = $("#lForm").serialize(); 
       $.ajax({ 
        type: "POST", 
        url: eurl, 
        data: params, 
        success: function (data) { 
         return data.responseText; 
        }, 
        error: function (xhr,status,error){ 
         return error; 
        } 

       }); 
      }); 
      this.echo(response); 
     }); 

ответ

1

Ну, после того, как пытаются найти способ решить эту проблему, я наконец-то, я просто поставил АЯКС вызов внутри попробуйте поймать и обнаружил, что ошибка заключалась в том, что он не читал переменную eurl (я объявлял ее вне оценки). Я положил его внутрь, и это сработало. Спасибо за вашу помощь

1

я не смог чтобы проверить это с помощью кода, который вы указали, но похоже, что вы ничего не возвращаете с evaluate().

return __utils__.sendAJAX(url, 'POST', params); 

Вы, вероятно, также необходимо вызвать CasperJS со следующим:

casperjs --ignore-ssl-errors=true /path/to/script.js 
+0

Это не работает, я попытался с помощью js xmlhttprequest и с помощью метода __ utils __. SendAjax() casperJS, я также попытался поместить ajax внутри var, чтобы значение, которое я возвращаю из ajax request - это значение этого var, а затем я возвращаю его. Что меня беспокоит, так это то, что он работает, если я делаю это с консоли firebug:/ – davidaam

+0

sendAJAX() не работает, он возвращает null, я пробовал отправлять параметры как объект JSON и как закодированную строку, ни один не работает – davidaam

+0

Could вы пытаетесь добавить 'this.then' вокруг' this.echo (response); '? – hexid

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