2013-02-27 37 views
6

Tôi đang làm việc trên trang web cạo có AJAX pagination được thực hiện, Kể từ khi trang web được phát triển trong trang asp tức là với phần mở rộng .aspx Tôi đã cố gắng gửi mẫu pagination để lấy dữ liệu từ các trang khác hơn trang đầu tiên nhưng không nhận được bất kỳ thành công nhìn ở đây mã Tôi đã sử dụng Scraping data from all asp.net pages with AJAX pagination implemented, Vì vậy, câu hỏi của tôi là làm thế nào tôi có thể bấm vào liên kết pagination từ php tức là nó có thể chạy jQuery hoặc javascript trên phía máy chủ?Có thể chạy jQuery ở phía máy chủ không?

Tôi biết Node.js có thể được sử dụng để chạy javascript trên phía máy chủ, nhưng không biết làm thế nào để sử dụng nó với Apache và PHP

+0

Bạn đã thử gì? –

+1

không, nhưng Node.js có thể (câu trả lời nhanh !!) –

+0

Mã jQuery có thể được tải lên trên máy chủ nhưng hiệu ứng của nó được hiển thị ở phía máy khách ... bởi vì chương trình phía máy khách của nó có thể sử dụng node.js vì phía máy chủ của nó javascript –

Trả lời

3

JavaScript thực tế có thể được chạy ở phía máy chủ.

node.js

giải pháp của bạn ở đây, tuy nhiên, sẽ được sử dụng AJAX để gọi một kịch bản PHP cho pagination, như phía máy chủ javascript không có ý nghĩa nhiều đối với vấn đề này.

+0

Không phải hướng tôi sẽ tư vấn cho yêu cầu phân trang đơn giản? – CR41G14

+0

làm thế nào tôi có thể sử dụng node.js với PHP bất kỳ ví dụ nào? –

1

Không có nó không thể chạy jQuery trên serverside, như jQuery chạy trong trình duyệt web của người dùng (bên trong trình thông dịch javascript). Bạn có thể thực hiện cuộc gọi Ajax qua jQuery tới một tập lệnh PHP có thể chạy mã trên máy chủ.

1

JQuery và Javascript là một ngôn ngữ phía máy khách và cho việc phân trang này có thể dễ dàng đạt được bằng cách sử dụng jQuery như nó phải.

Ajax có thể được sử dụng để giao tiếp với máy chủ mà không hiển thị trang và có thể cung cấp cho người dùng trải nghiệm "Phía khách hàng" tốt hơn. Bạn có thể sử dụng Ajax để kết nối với máy chủ và sử dụng jQuery để thực hiện các hành động trả về từ máy chủ.

1

Tôi nghĩ rằng với ajax bạn có thể dễ dàng thực hiện việc phân trang. Khác nếu bạn thực sự wanne đi cho js phía máy chủ. Sau đó, hãy thử Node.js

2

Những gì bạn có thể làm là

<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> 

Trong ví dụ trên tôi có bốn liên kết pagination và rằng sự kiện liên kết nhấp chuột tôi thực hiện cuộc gọi ajax và sau đó trong thành công ajax gọi lại kết quả hiển thị như mong muốn của bạn.

Nhưng hãy nhớ rằng jQuery không thể hoạt động trên máy chủ sử dụng node.js.

+0

trang không có phân trang đơn giản như page = 1 page = 2 vv thay vì mỗi nhấp chuột của liên kết pagination nó gửi một biểu mẫu ẩn với các trường __EVENTTARGET, __ EVENTARGUMENT, __ VIEWSTATE, __ EVENTVALIDATION v.v. Tôi không biết cách asp quản lý pagination. –

+0

@SubodhGhulaxe nó không quan trọng và tôi đã nói rõ ràng ví dụ ... vì vậy tôi chỉ cung cấp cho bạn trợ giúp về những gì bạn có thể có thể làm ... –

2

Sử dụng PhantomJS để tương tác với các trang HTML trên các dịch vụ khác. Có các thư viện cho PHP như this.

CasperJS là thư viện được xây dựng trên đầu trang của PhantomJS cho phép tự động hóa một số tác vụ thử nghiệm/kịch bản phổ biến.

Nếu bạn không cần tương tác với các trang từ xa nhưng muốn trích xuất dữ liệu từ HTML bằng bộ chọn jQuery, hãy sử dụng Cheerio.

Các vấn đề liên quan