【发布时间】:2011-09-21 22:47:46
【问题描述】:
我被困在 jQuery 世界的角落里,肯定需要一些帮助。
简而言之,我使用 jQuery (GET) 进行 Ajax 调用并获得一个 XHTML 页面作为响应。在响应中(包括<html>、<head> 和<body> 标签等)有一个输入元素,我只知道它的部分名称。我需要获取响应随附的隐藏输入字段的值。
附言我无法控制 html 响应的外观,所以我无法重新格式化它。 这些文件需要位于包含 jQuery.js(今天的最新版本)的文件夹中
这是我迄今为止想出的。
Page1.html(进行 Ajax 调用并获取 page2.html 作为响应)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>runthis</title>
<script type="text/javascript" language="javascript" src="jQuery.js"></script>
<script tyle="text/javascript">
$(document).ready(function(){
$('input').click(function(){
$.ajax({
type : "GET",
url : 'page2.html',
dataType : "html",
success: function(data) {
alert($(data).filter('input[name*="test"]').value);
},
error : function() {
alert("Sorry, The requested property could not be found.");
}
});
});
});
</script
</head>
<body>
<input type="button" value="load" />
</body>
</html>
Page2.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<head>
<title>TiTlE</title>
</head>
<body>
<input type="hidden" name="1-test" value="123" />
<input type="hidden" name="some-other-name" value="456" />
<input type="hidden" name="yet-another-name="789" />
</body>
</html>
所以在这些示例中,我需要得到“123”作为答案。
如果有人能指出我的错误并帮助我完成这项工作,我将不胜感激。我花了几个小时浏览网络,我的所有 Google 搜索结果都标记为已查看:) 但仍然无法正常工作。
【问题讨论】:
标签: javascript jquery ajax html-parsing