2013-02-27 2 views
6

Я работаю над соскабливанием на веб-странице, поскольку реализована анимация AJAX, поскольку веб-сайт разработан в asp, т.е. странице с расширением .aspx. Я попытался представить формы разбиения на страницы, чтобы получить данные с других страниц, кроме первой страницы, но не получил никакого успеха, посмотрите здесь код, который я использовал Scraping data from all asp.net pages with AJAX pagination implemented, поэтому мой вопрос в том, как я могу нажимать ссылки на страницы из php, т. е. можно ли запустить jQuery или javascript на стороне сервера?Возможно ли запустить jQuery на стороне сервера?

Я знаю, что Node.js может быть использован для запуска JavaScript на стороне сервера, но не знаю, как использовать его с Apache и PHP

+0

Что вы попробовали? –

+1

нет, но Node.js может (быстрый ответ!) –

+0

Код jQuery может быть загружен на сервер, но его эффект показан на стороне клиента .. потому что его клиентская программа программирования lang ... u может использовать node.js, потому что ее серверная сторона javascript –

ответ

3

На самом деле JavaScript можно запускать на стороне сервера.

node.js

Ваше решение здесь, хотя, было бы использовать AJAX для вызова PHP скрипт для разбиения на страницы, а Серверный JavaScript не имеет особого смысла для этой проблемы.

+0

Не то направление, которое я бы посоветовал для простого запроса на разбивку на страницы. – CR41G14

+0

Как я могу использовать node.js с PHP в каких-либо примерах? Страница –

1

Нет, это невозможно запустить JQuery на ServerSide как JQuery работает в веб-браузере пользователей (внутри интерпретатора javascript). Вы можете сделать вызов Ajax через jQuery скрипту PHP, который может запускать код на сервере.

1

JQuery и Javascript - это язык на стороне клиента, а для разбивки на страницы это можно легко достичь с помощью jQuery, как и должно быть.

Ajax может использоваться для связи с сервером без рендеринга страниц и может дать пользователю лучший опыт работы с клиентами. Вы можете использовать Ajax для подключения к серверу и использовать jQuery для выполнения действий с возвратом с сервера.

1

Я думаю, что с помощью ajax вы можете легко выполнить разбиение на страницы. Иначе, если вы действительно хотите получить серверную сторону js. Затем попробуйте Node.js

2

Что вы можете сделать, это

<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript"> 

    $(function() 
    { 
     $('ul li a').on('click',function() 
     { 
      var href = $(this).attr('href'); 

      $.ajax(
      { 
       url   : href, 
       data  : passData, 
       dataType : 'html' 
       beforeSend : function() 
       { 

       }, 
       success  : function(response) 
       { 
        //display it as needed... 
       } 
      }); 
     }); 
    }); 

</script> 

<ul> 
    <li><a href="paging.aspx?page=1">1</a></li> 
    <li><a href="paging.aspx?page=2">2</a></li> 
    <li><a href="paging.aspx?page=3">3</a></li> 
    <li><a href="paging.aspx?page=4">4</a></li> 
</ul> 

В приведенном выше примере у меня есть четыре ссылки постраничных и на этом ссылку события нажатия я сделать вызов Ajax, а затем в Ajax успеха перезвонить результат отображения по вашему желанию.

Но помните, что jQuery не может работать на сервере, используя node.js.

+0

не имеет такой простой разбивки на страницы, как страница = 1 страница = 2 и т. Д., А на каждом щелчке ссылки на страницы, она представляет скрытую форму с полями __EVENTTARGET, __ EVENTARGUMENT, __ VIEWSTATE, __ EVENTVALIDATION и т. Д. Я не знаю, как asp управляет разбиением на страницы. –

+0

@SubodhGhulaxe это не имеет значения, и я ясно сказал пример ... поэтому я просто дал вам помощь в отношении того, что вы можете сделать ... –

2

Используйте PhantomJS для взаимодействия с HTML-страницами на других сервисах. Существуют библиотеки для PHP, такие как this.

CasperJS - это библиотека, построенная на основе PhantomJS, которая позволяет автоматизировать некоторые общие задачи тестирования/сценариев.

Если вам не нужно взаимодействовать с удаленными страницами, но вы хотите извлечь данные из HTML с помощью селекторов jQuery, используйте Cheerio.

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