我想从网址http://rid3201.org/site/club_members2.php?id=MTk3Ng==中提取“容器”div。我使用以下代码(在MVC4中)
我的控制器
public string DownloadUrlData()
{
using (System.Net.WebClient wc = new System.Net.WebClient())
{
wc.Encoding = System.Text.Encoding.UTF8;
string htmlCode = wc.DownloadString("http://rid3201.org/site/club_members2.php?id=MTk3Ng==");
return htmlCode;
}
}
我的html页面和jquery是
@section head{
<script type="text/javascript">
$(document).ready(function () {
$.ajax(
{
url: '/Member/DownloadUrlData',
type: "POST",
dataType: "html",
async: true,
cache: false,
beforeSend: function (request) {
},
success: function (data) {
var theHtml = $(data).find('#container>table:first').html();
// var $theTable = $(theHtml);
$("#rData").append(theHtml);
// Use this HTML or jQuery object to serve your objective
},
error: function (xmlHttpRequest, textStatus, errorThrown) {
//alert(textStatus + ", " + errorThrown + ", " + xmlHttpRequest);
},
complete: function (xmlHttpRequest, textStatus) {
}
});
});
</script>
}
<div id="rData">
</div>
我想将该表(在容器div中)附加到div rData中。我可以得到整个HTML代码(在数据中)。但无法提取并加载到rData div中。那部分不起作用。
我发现问题是jquery无法在数据中访问。我怎么能删除这个
答案 0 :(得分:0)
解析HTML是一件单调乏味的事情。但是我会在后端而不是在javascript前端处理它。特别是您可以更新代码以便在1个位置轻松适应任何更改。
我会使用http://htmlagilitypack.codeplex.com/并解析您拥有的htmlCode字符串,取出您需要的表并将其发送回客户端,这样您就可以直接附加数据而不必将其计算出客户端。