问题描述
我正在尝试使用来自 ajax html 响应的内容更新 div.我相信我的语法是正确的,但是 div 内容被整个 HTML 页面响应替换,而不仅仅是在 html 响应中选择的 div.我做错了什么?
I am trying to update a div with the content from an ajax html response. I beleive I have the syntax correct, however the div content gets replaced with the entire HTML page response, instead of just the div selected in the html response. What am I doing wrong?
<script>
$('#submitform').click(function() {
$.ajax({
url: "getinfo.asp",
data: {
txtsearch: $('#appendedInputButton').val()
},
type: "GET",
dataType : "html",
success: function( data ) {
$('#showresults').replaceWith($('#showresults').html(data));
},
error: function( xhr, status ) {
alert( "Sorry, there was a problem!" );
},
complete: function( xhr, status ) {
//$('#showresults').slideDown('slow')
}
});
});
</script>
推荐答案
您正在设置 #showresults
的任何 data
的 html,然后将其替换为自身,这没有多大意义?
我猜你在哪里真的试图在返回的数据中找到 #showresults
,然后用来自 ajax 的 html 更新 DOM 中的 #showresults
元素调用:
You are setting the html of #showresults
of whatever data
is, and then replacing it with itself, which doesn't make much sense ?
I'm guessing you where really trying to find #showresults
in the returned data, and then update the #showresults
element in the DOM with the html from the one from the ajax call :
$('#submitform').click(function () {
$.ajax({
url: "getinfo.asp",
data: {
txtsearch: $('#appendedInputButton').val()
},
type: "GET",
dataType: "html",
success: function (data) {
var result = $('<div />').append(data).find('#showresults').html();
$('#showresults').html(result);
},
error: function (xhr, status) {
alert("Sorry, there was a problem!");
},
complete: function (xhr, status) {
//$('#showresults').slideDown('slow')
}
});
});
这篇关于使用 jQuery ajax 响应 html 更新 div的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!