如何处理jquery中$ .post输出的数据?

问题描述:

我使用$ .post()将结果发送到控制器和模型。它会输出一个包含所有标签的整个页面......,等等。我想处理那些输出的数据。我怎样才能做到这一点?对于下面的代码示例,我想在输出的数据中获得id ='myid'的值。

$.post(url, function(data) { 
    alert(data.getElementById('ContentPane').html()); 
}); 

非常感谢。

$(data).find('#ContentPane').html() 

并没有为我工作,但后来我用

$(data).filter('#ContentPane').html() 

它的工作!谢谢!

+0

我猜你在页面中有多个元素,而'ContentPane'和'.find'选择了错误的元素。 '.filter'将选择所有的'ContentPane'ids ..我不会在这个上使用'.filter',如果你有多个具有相同ID的元素,你可能会在某些时候返回错误的结果。它更好地使用'.find'并且实际上定义了一个更好的元素路径。 – 2012-02-18 05:22:35

+0

恩......好的,谢谢 – guitarlass 2012-02-18 05:57:41

+0

我在从此输出中选择标记及其属性时遇到问题。 '$(response).filter('html')'甚至'find()'不起作用。请检查[this](http://*.com/questions/9388596/how-to-process-get-and-catch-html-element-using-jquery) – guitarlass 2012-02-22 03:13:39

您必须将返回的HTML代码转换为对象。试着用:

$(data).find('#ContentPane').html() 

只要做到以下:

$.post(url, function(data) { 
    alert($(data).find("#ContentPane").html()); 
}); 

不知道,但尝试这个

$(data).find("#ContentPane").html() 

假设ContentPane是要找到从data未来控制器控制。