我正在努力解决这个问题,每当我通过jQuery触发AJAX调用时,都会向DOM添加一个全新的元素。
下面的代码每次触发AJAX调用时刷新文本,我希望它添加全新元素而不是刷新。
这是我写的代码。function successAJAX(response){
response = $.parseJSON(response);
var priceHTML = document.createElement('p');
priceHTML.innerText= "foo";
$("#priceContainer").append(priceHTML);
}
function makeAjaxRequest() {
$.ajax({
url: "ajax/ajax.php",
data: obj,
type: "post",
success: successAJAX
});//end ajax
};//end makeRequest
$button.on("submit",makeAjaxRequest());
目前的情况是我可以在按下提交按钮后成功添加新的html元素。
但我对此不满意,我想每次按下提交按钮时再添加一个新的html元素。
例如,当我按下提交按钮(触发ajax功能)100次时,我现在只能在DOM上附加1个html元素。
我的问题是如果我按下提交按钮(触发ajax功能)100次,如何在DOM上附加100个html元素。
答案 0 :(得分:0)
function successAJAX(response){
response = $.parseJSON(response);
var priceHTML = document.createElement('p');
priceHTML.innerText= "foo";
$("#priceContainer").append(priceHTML);
}
首先,如果您在该功能中甚至没有使用response = $.parseJSON(response);
,response
行在那里做什么?
其次,我们必须看到执行AJAX的功能才能查看出错的原因,因为您的代码似乎没有太多错误。
顺便说一句,您还可以使用
创建priceHTML
var
var priceHTML = $('<p>');
priceHTML.html('foo');`
(因为你正在使用jQuery)。
答案 1 :(得分:0)
应该是这样的,
var priceHTML = document.createElement('p');
priceHTML.innerHTML= "foo";
$("#priceContainer").append(priceHTML);