[英]jQuery .find() on data from .ajax() call returns undefined
我正在嘗試從.ajax()
提取body
標簽,但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>'
似乎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())
.as-console-wrapper { max-height: 100% !important; top: 0; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
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);
}
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.