在 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);

假设内容是您要更改的元素中的属性。