我正在尝试从body
中提取.ajax()
代码,但我将undefined
记录到控制台...
这是我的代码:
$(document).ready(function(){
var user;
$(".subacc_info").on('click', '#submit_user_delete', function(){
user = $(this).closest($(".subacc_info")).find($("#subacc_name")).text();
$.ajax({
type: "POST",
url: '/user/profile/delete',
data: {user: user},
dataType: "html",
success: function(data){
$result = $(data).find('body').html();
console.log($result);
}
});
});
我做错了吗?
console.log(data)
将此字符串输出到控制台:
'<!DOCTYPE html>
<html lang="en">
<head>
...
</head>
<body>
<div class="container">
....
</div> <!-- /container -->
</body>
</html>'
答案 0 :(得分:0)
似乎Jquery忽略了<body>
和<html>
元素,因此您实际上正在获取正文中包含的内容的数组。解决这个问题的一种方法是将HTML附加到另一个元素并获取该元素的HTML。
你可以像下面这样说:
var data = '<!DOCTYPE html><html lang="en"><head></head><body><div class="container"></div> <!-- /container --></body></html>';
var temp = $('<div>').append($.parseHTML(data));
console.log(temp.html())
&#13;
.as-console-wrapper { max-height: 100% !important; top: 0; }
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
&#13;
答案 1 :(得分:-1)
Ajax调用是加载json数据,html文件,图像,jsp。 首先,你应该知道你从ajax电话中得到了什么对象。
在调用ajax调用页面时应该有一些div,你可以在其中显示ajax调用的返回输出。
$(document).ready(function(){
var user;
$(".subacc_info").on('click', '#submit_user_delete', function(){
user = $(this).closest($(".subacc_info")).find($("#subacc_name")).text();
$.ajax({
type: "POST",
url: '/user/profile/delete',
data: {user: user},
dataType: "html",
success: function(data){
$("#SomeDIVId").html(data);
}
});
});