我们的应用程序中有搜索功能,当用户输入内容时,结果将根据过滤器生成并显示在页面上。
以下是每个get()
之后的动态结果:
keyup
以下是事件处理程序:
htmlResult = `
<li>
<div>
<img src='${user.avatar}' width='80' alt='${user.fullName}' />
</div>
<a tabindex='0'
class ='btn2'
data-html='true'
data-toggle='popover'
data-content="<div class='list-group'><a href='#' class='item' data-val1-value='0'>Val1</a></div>">add</a>
</li>
`;
此代码存在两个问题:
$("[data-toggle=popover]").popover();
$(document).on('click', '.btn2', function(event) {
event.preventDefault();
$(this).popover({ html: true });
});
$(document).on('click', '.item', function (event) {
event.preventDefault();
const value1 = $(this).attr('data-val1-value');
const params = {
value1: value1
};
$.ajax({
type: "POST",
url: endPoint,
dataType: 'json',
contentType: 'application/json',
data: JSON.stringify(params),
success: (result) => {
// refresh
}
});
});
3次后,将显示.item
错误。PS :此代码适用于未生成的标记。
任何想法?
答案 0 :(得分:0)
a)确保你的网址是正确的, 1)更新您的服务器端功能,不接受任何仅用于测试的参数 2)用数据调用ajax:NULL 3)调试并查看它是否到达服务器端功能。
b)如果没有到达服务器端,请检查它是服务器端功能中的POST还是GET。 c)如果您确定正确调用了服务器端功能,则数据没有字符串。
这可能会有所帮助。
答案 1 :(得分:0)
对于popover,您必须重新启动每个附加到HTML的dinamyc内容。 对于Ajax 400,这是因为找不到路径路径的URL,请再次检查此请求的后端要求。