如何在Ajax请求后重新加载特定元标记(由php生成)?
标签:
<meta name="csrf-token" content="efca1389c7f2323c875f3197ead688e9206d8835e10ef618e1241faac2dc750e">
尝试Ajax成功响应的方法(不能正常工作):
$("meta[name=csrf-token]").load(location.href+" meta[name=csrf-token]>*","");
我很确定我选错了但却无法找到正确的方法。有人可以帮忙吗?
答案 0 :(得分:0)
问题是load()
会填充您定位的代码的内容。这不是你想要做的。相反,您需要更新标记的属性,或者只是将整个标记替换为您从AJAX请求中检索的更新标记。
你可以像这样实现后者:
$.ajax({
url: location.href,
success: function(html) {
var newMeta = $(html).find('meta[name="csrf-token"]')
$('meta[name="csrf-token"]').replaceWith(newMeta);
},
error: function(x, s, e) {
console.log('Something went wrong...');
}
});
答案 1 :(得分:0)
您可以这样做:
var metaTag = document.querySelector('[name="csrf-token"]');
metaTag.setAttribute('content', yourNewDescriptionContent);
假设内容是您要更改的元素的属性。