1
1
首先,我同意@Zhihao,这是一个很好的建议+1. 我的方法在某些方面可能相似,但我将以不同的方式加以说明。 请回答以下编号的问题: 1.确认(对我来说)您拥有两个页面的第一次AJAX调用所需的所有数据。是还是否? 如果是,避免重复调用是好的。我们可以探索您的选择。 如果没有,则指定第二个调用应该得到什么。例如,可能API不正确。 我会把这些拆开: 是的,您正在获取第一页请求所需的所有数据。然后,单击-您现在知道所选的用户,并拥有该用户的所有数据。对对 从那里开始,挑战是-如何将数据发送到详细信息页面-这取决于您的架构。 *a) 如果您使用的是单页应用程序(SPA)或MVC,*这就变得微不足道了,我们只需要将用户的ID(唯一标识符)传递给新布局(如函数参数),并让它(使用ID参数)从存储的结果(模型)中提取数据,然后将该布局(视图)呈现给屏幕。 但是从你问题中的一些暗示来看,我想你现在正在摇头。 SPA将是您在这里的理想环境。但如果没有,我们继续。。。 2.确认(对我来说)单页应用程序架构或类似MVC的Backbone.js?或者任何其他js框架。 b) 如果您的页面是从服务器呈现的,就像大多数Java一样, 您可以通过url末尾的查询字符串参数告诉页面请求了哪个用户。看起来像这样: http://www.example.com/userpage.html ?用户=112345 但同样,这可能不是你的架构。确认是否为 c) 另一种选择是服务API错误,或者您对它的调用错误。 这类问题有一种常见的模式,称为“主/详细”模式。其思想是用户列表是“主”,而单个用户是“细节”。 也许,与其两次调用额外数据 应该 是两个AJAX调用,但两个不同的调用-一个用于所有用户:
然后第二个用于特定数据:
我希望这就是答案。您可以通过在此时将真实ID复制并粘贴到代码中来测试此解决方案,例如:
看看数据是否回来。 :) 3) 使用chrome开发工具中的步骤调试器。这是关键。因为您只需单击或悬停在“数据”对象上即可查看所有数据。 您可以通过键入debugger:
当您在源选项卡上时,这将冻结该行代码的执行,然后您可以看到数据的内容,并知道是否有正确的调用。如果用户调用正常,您应该没事。但是如果它跳过了断点,则调用可能会从服务器悄悄返回错误。 花时间在chrome step调试器教程上是个好主意。 4) 请确认以上代码在单独的文件中?如果所有代码都在一个js或html中,我们需要讨论其他内容。但我没有看到任何点击处理程序,所以我猜情况并非如此。 希望这会有所帮助。 |