在 ajax 请求后重新加载元标记 - jQuery
Reload meta tag after ajax request - jQuery
如何在 Ajax 请求后重新加载特定元标记(由 php 生成)?
标签:
<meta name="csrf-token" content="efca1389c7f2323c875f3197ead688e9206d8835e10ef618e1241faac2dc750e">
我在 Ajax 成功响应中尝试的方法(无效):
$("meta[name=csrf-token]").load(location.href+" meta[name=csrf-token]>*","");
我很确定我选错了,但找不到正确的方法。有人可以帮忙吗?
问题是 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...');
}
});
你可以这样做:
var metaTag = document.querySelector('[name="csrf-token"]');
metaTag.setAttribute('content', yourNewDescriptionContent);
假设内容是您要更改的元素中的属性。
如何在 Ajax 请求后重新加载特定元标记(由 php 生成)?
标签:
<meta name="csrf-token" content="efca1389c7f2323c875f3197ead688e9206d8835e10ef618e1241faac2dc750e">
我在 Ajax 成功响应中尝试的方法(无效):
$("meta[name=csrf-token]").load(location.href+" meta[name=csrf-token]>*","");
我很确定我选错了,但找不到正确的方法。有人可以帮忙吗?
问题是 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...');
}
});
你可以这样做:
var metaTag = document.querySelector('[name="csrf-token"]');
metaTag.setAttribute('content', yourNewDescriptionContent);
假设内容是您要更改的元素中的属性。