1

我在 Jquery 中有一个 Ajax 调用,它返回很多不需要的 HTML。我试图过滤掉我想要的那部分,但控制台只是说空字符串?请有人指出我正确的方向。

$.ajax({
    url: "urlencode.php",
    data: data,
    type: "POST",
    success: function (data) {
        var myd = $(data).filter("#Result").text();
        console.log(myd)
    },

    error: function (request, status, error) {
        alert(request.responseText);
    }
});
4

2 回答 2

2

您可以将 html 数据元素传递给动态 div,然后在其中找到您的#Result内容。
Withfind()方法允许您在 DOM 树中搜索这些元素的后代
尝试这样的事情:

$.ajax({
   url:"urlencode.php",
   data: data,
   type: "POST",
   success: function (data) {
        var myd = $('<div />').html(data).find("#Result").text();
        console.log(myd)
    },

    error: function (request, status, error) {
        alert(request.responseText);
    }
});
于 2013-06-25T20:38:15.420 回答
1

jQuery 可以自动执行此操作。在您的url参数中,只需使用"urlencode.php #Result"

编辑:如果您使用.load.

对于您的情况,请尝试:

success: function (data) {
    var myd = $($.parseHTML(data)).filter("#Result").text();
    console.log(myd)
},
于 2013-06-25T20:36:19.887 回答