我一直在尝试在向页面本身发送帖子请求后获取php页面的结果。我想在post请求成功后获取数据,并获得div
元素的内容id
结果。这是代码:
<!DOCTYPE html>
<html>
<head>
<title>My Form</title>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#myForm").submit(function() {
$.post("test.php",
{
name: "valid"
},
function(data, status) {
});
return false;
});
});
</script>
</head>
<body>
<form method="POST" id="myForm">
<input type="text" name="name" />
<input type="submit" name="submit" value="Submit" />
</form>
<div id="result">
<?php
if(isset($_POST['name'])) {
if($_POST['name'] == 'valid') {
echo 'You are a valid user!';
}
}
?>
</div>
</body>
</html>
当我提交按钮而不管文本框中写了什么时,我应该从Your a valid user
收到test.php
消息我希望在结果页面中显示此消息并将其显示在当前页面中无需重新加载页面。由于结果页面内容保存在data
变量中,因此我不知道如何选择包含在变量中的元素而不是当前页面本身。我们可以为当前页面$("div#result").text()
。但是我应该如何处理存储在变量中的html内容?
答案 0 :(得分:1)
只需将data
变量作为第二个参数提供给jQuery,如下所示:
$('#result', data).text()
未经测试但应该有效。
<强>更新强>
我不知道为什么,但只有当你想要找到的元素被身体标签中的另一个元素包裹时,这才会起作用。看到这个小提琴:http://jsfiddle.net/xf32L5uj/