【问题标题】:Filtering/ using selectors on AJAX response在 AJAX 响应上过滤/使用选择器
【发布时间】:2017-05-21 20:28:32
【问题描述】:

一般来说,我是 javascript/编码的新手,在过滤/处理作为 AJAX 请求接收的数据时遇到了困难。我无权访问服务器端代码。当一个日期被发送到服务器时,它会以一页列表信息作为响应。响应中有一个我感兴趣的 div。我只想得到这个 div (id="medStaff"),它包含一个表格。

我有两个这样的请求/表格,需要合并结果(合并表格,只显示某些列)。

最后,我需要使用的资源仅在我们的 Intranet 上可用 - 因此,在开发此资源时,我必须使用 jquery.get 和本地保存的资源副本来模拟场景,而不是 jquery.post(这是我不使用带有容器 ID 的 jquery.load 和一些 CSS 样式以仅显示我想要的表格部分的原因 - 这在本地工作正常,但不适用于实际应用程序)。

大概我应该在我的 ajax 响应上使用过滤器(因为它是我追求的顶级 div),然后是一些 nth-child 选择器来选择我的表数据。我只是无法让这些工作。我想在已识别的分区中提取表的第一列和第二列。表本身没有 id 标签。下面的代码(对于我特别坚持的一点):

<html>
<head>
<script src="jquery.js"></script>
</head>
<div id="div1" ></div>
<div>
<script>
$.get("Medicine%20%20AGM%20Medical%20Staff%20by%20Firm.htm", function(response) {   
    $(response).filter( '#medStaff' );
    document.getElementById("div1").innerHTML = response;
});
</script>
</div>
</form>
</html>

我将不胜感激任何建议。谢谢,R

【问题讨论】:

    标签: javascript ajax filter jquery-selectors .post


    【解决方案1】:

    .filter()没有修改变量,需要使用结果。

    $.get("Medicine%20%20AGM%20Medical%20Staff%20by%20Firm.htm", function(response) {   
        $("#div1").html($(response).filter( '#medStaff' ));
    });
    

    您还可以使用.load() 更简单地执行此操作,它允许您在 URL 之后放置一个选择器:

    $("#div1").load("Medicine%20%20AGM%20Medical%20Staff%20by%20Firm.htm #medStaff");
    

    【讨论】:

    • 非常感谢!这为我澄清了很多语法(并且有效)。我不能使用负载,因为对于我的实际应用程序,我需要使用 post 将日期发送到服务器 - 但再次感谢
    • 来自.load() 文档:如果数据作为对象提供,则使用 POST 方法;否则,假定为 GET。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-06
    • 2021-11-04
    • 1970-01-01
    • 1970-01-01
    • 2013-02-22
    • 1970-01-01
    • 2017-11-04
    相关资源
    最近更新 更多