Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Ajax提供程序返回太多html Asp.Net_Javascript_Jquery_Asp.net_Ajax_Asp.net Controls - Fatal编程技术网

Javascript Ajax提供程序返回太多html Asp.Net

Javascript Ajax提供程序返回太多html Asp.Net,javascript,jquery,asp.net,ajax,asp.net-controls,Javascript,Jquery,Asp.net,Ajax,Asp.net Controls,我正在尝试对Asp.net中的页面进行部分更新。 我通过ajax调用我的.aspx页面来构建我需要附加到页面上特定位置的内容,以前这对我来说很有效 我目前的问题是,我得到的是完整的html,而不仅仅是元素,我无法弄清楚我之前做了什么 var dataObj = { 'includeInactive': includeInactive, 'MasterPersonId': masterId, 'sChosenSSN': chosenSSN }; $

我正在尝试对Asp.net中的页面进行部分更新。 我通过ajax调用我的.aspx页面来构建我需要附加到页面上特定位置的内容,以前这对我来说很有效

我目前的问题是,我得到的是完整的html,而不仅仅是元素,我无法弄清楚我之前做了什么

                var dataObj = { 'includeInactive': includeInactive, 'MasterPersonId': masterId, 'sChosenSSN': chosenSSN };

        $.ajax({
            url: 'clientside/providers/MergeJournalProviders/---ShowSomeDuplicateCivilRegistrationNumbers.aspx',
            dataType: 'html',
            data: dataObj,
            cache: false,
            async: true,
            beforeSend: function (xhr) {
            },
            success: function (result) {

                if (result != "" && result != undefined) {

                    //var htmlToAppend = $(result).find("#DuplicatePeople div").html();
                    //her vælger jeg gruppen(group) der skal opdateres
                    var oldDiv = $('#DupPpl');
                    var newDiv = jQuery(result).find('#DupPpl').html()
                    oldDiv.replaceWith(newDiv);
                    //$('#DupPpl').empty();
                    //$('#DupPpl').html(jQuery(result).find('#DuplicatePeople').html());
                    //$('#DupPpl').remove();
                    //$('#DupPpl').append(result);
                    //$('#DupPpl').append(result);


                }
            }
        });

这是使用更新面板的不幸后果。它们的简单性带来了更高的成本。发生的情况是,不仅面板的内容会被发回,所有视图状态和HTML标题等也会被发回。使用jQuery、页面方法和web服务可以实现更高效的部分发回。查看本文:

如果您的结果包含aspx文件中的所有html,并且该html中存在id为“duppl”的元素,则可以使用jquery内容获取该元素:

尝试:

使用相同的代码获取其他元素:

$(result).contents().find('YOUR_ELEMENT_ID').html();

我才意识到你没有使用面板。抱歉。这与您期望的链接相同吗?我只是尝试将html附加到div,但我的ajax结果包含所有html,而不仅仅是我需要的标记try newDiv=$(result.contents().find('#duppl').html();如果您的问题是newDiv的内容。问题实际上是resultt的内容。这是正常的,结果将始终是该页面返回到浏览器的内容。
$(result).contents().find('YOUR_ELEMENT_ID').html();