gpt4 book ai didi

javascript - 在dojo中找到ajax请求

转载 作者:行者123 更新时间:2023-12-03 11:22:29 24 4
gpt4 key购买 nike

我正在开发一个爬虫来抓取网站上的所有数据。他们使用ajax 进行分页。我在页码的 href 上找到了这个

javascript:dojo.publish("showResultsForPageNumber",[{pageNumber:"4",pageSize:"15", linkId:"WC_SearchBasedNavigationResults_pagination_link_4_categoryResults"}])

这里发生了什么。我不知道这些道场。谁能帮我找到相应的服务器脚本,以便我可以废弃包括分页在内的所有数据。

update#1

在控制台中我发现 enter image description here

这是重定向的代码。

showResultsPage:function(data){

var pageNumber = data['pageNumber'];
var pageSize = data['pageSize'];
pageNumber = dojo.number.parse(pageNumber);
pageSize = dojo.number.parse(pageSize);

setCurrentId(data["linkId"]);

if(!submitRequest()){
return;
}

console.debug(wc.render.getContextById('searchBasedNavigation_context').properties); //line 773
var beginIndex = pageSize * ( pageNumber - 1 );
cursor_wait();


wc.render.updateContext('searchBasedNavigation_context', {"productBeginIndex": beginIndex,"resultType":"products"});
this.updateHistory();
MessageHelper.hideAndClearMessage();
},

最佳答案

它是 Dojo 框架的发布者/订阅者部分的一部分,并且不说明任何有关执行的 AJAX 请求的信息。

如果您不熟悉发布者/订阅者模式,那么让我们首先解释一下。为了解耦应用程序的某些组件/部分,通常使用此模式。

一方面,有人发布信息,而另一方面(=应用程序的其他部分)有人聆听信息。

在这种情况下,将发布以下数据(=第二个参数):

[{
pageNumber: "4",
pageSize: "15",
linkId: "WC_SearchBasedNavigationResults_pagination_link_4_categoryResults"
}]

显然,并不是应用程序中的所有订阅者都需要了解这些数据,因此有一个主题系统,在本例中,数据被发布到名为 "showResultsForPageNumber"(= 第一个参数)

要知道接下来会发生什么,您必须查看代码以查找订阅该主题的人。所以在代码中的某个地方你会发现类似这样的内容:

dojo.subscribe("showResultsForPageNumber", function(data) {
// Does something with the data, perhaps an AJAX call?
});

要回答您的问题,请在代码中查找类似以下内容的内容:dojo.subscribe("showResultsForPageNumber",因为它会告诉您接下来会发生什么。

但是,如果您只对 AJAX 调用感兴趣,那么检查网络请求会更容易,如果您使用的是 Google Chrome/Mozilla Firefox/...您可以使用 F12 键打开开发人员工具,然后选择网络选项卡并在需要时激活。现在单击分页控件,您将看到所有网络流量以及请求+响应数据的日志。

关于javascript - 在dojo中找到ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27040248/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com