是否可以在服务器端运行jQuery


Is it possible to run jQuery on server side?

我正在研究网页抓取是否实现了AJAX分页,由于网站是在asp中开发的,即扩展名为.aspx的页面,所以我的问题是如何点击php中的分页链接,即是否可以在服务器端运行jQuery或javascript?

我知道Node.js可以用于在服务器端运行javascript,但不知道如何将其与Apache和PHP 一起使用

使用PhantomJS与其他服务上的HTML页面进行交互。有这样的PHP库。

CasperJS是一个建立在PhantomJS之上的库,它允许自动化一些常见的测试/脚本任务。

如果您不需要与远程页面交互,但希望使用jQuery选择器从HTML中提取数据,请使用Cheerio。

JavaScript实际上可以在服务器端运行。

node.js

不过,您的解决方案是使用AJAX调用PHP脚本进行分页,因为服务器端的javascript对这个问题没有多大意义。

不可以在服务器端运行jQuery,因为jQuery在用户的web浏览器中运行(在javascript解释器中(。您可以通过jQuery对PHP脚本进行Ajax调用,该脚本可以在服务器上运行代码。

你能做的就是

<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的服务器上工作。

JQuery和Javascript是一种客户端语言,对于分页,可以使用JQuery轻松实现。

Ajax可以用于与服务器通信,而无需页面渲染,并且可以为用户提供更好的"客户端"体验。您可以使用Ajax连接到服务器,并使用jQuery执行从服务器返回的操作。

我认为使用ajax可以很容易地完成分页。否则,如果你真的想使用服务器端js。然后尝试Node.js

我试着这么做,但很痛苦。

我的建议(在2020年(,特别是如果你正在使用React,是使用这个:https://cheerio.js.org/.