这是我的 ajax 响应返回的页面。
<!DOCTYPE HTML>
<%@ taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>Insert title here</title>
<script src="http://code.jquery.com/jquery-1.9.0.min.js"></script>
</head>
<body>
<div id = "div1">
<h1>HI am a dashboard</h1>
<h1>HI am a dashboard</h1>
<h1>HI am a dashboard</h1>
</div>
</body>
</html>
在我的 ajax 成功代码上,我正在这样做
$('body').on('submit', '#sign-in', function(e) {
e.preventDefault();
var data = $(this).serialize();
var url = $(this).attr('action');
$.ajax({
//this is the php file that processes the data and send mail
url : url,
type : "POST",
data : data,
dataType:"html",
//Do not cache the page
cache : false,
//success
success : function(data) {
console.log(data);
console.log($(data).find('#div1').html());
}
});
})
是console.log($(data).find('#div1').html());
未定义的。而
console.log(data);
返回我之前声明的页面。
更新 发现问题,我的代码中有两个“数据”变量。我已经成功更改了一个,但它仍然返回未定义
$('#submit-login').on('click',function(e){
$('#hidden-submit-login').click();
})
$('body').on('submit', '#sign-in', function(e) {
e.preventDefault();
var data = $(this).serialize();
var url = $(this).attr('action');
$.ajax({
//this is the php file that processes the data and send mail
url : url,
type : "POST",
data : data,
dataType:"html",
//Do not cache the page
cache : false,
//success
success : function(response) {
console.log($(response).find('#div1').html());
console.log(response);
//console.log($((html).find('#div1').html();
}
});
});