在ajax请求之后重新加载元标记 - jQuery

时间:2018-04-05 13:36:34

标签: javascript jquery ajax meta-tags

如何在Ajax请求后重新加载特定元标记(由php生成)?

标签:

<meta name="csrf-token" content="efca1389c7f2323c875f3197ead688e9206d8835e10ef618e1241faac2dc750e">

尝试Ajax成功响应的方法(不能正常工作):

$("meta[name=csrf-token]").load(location.href+" meta[name=csrf-token]>*","");

我很确定我选错了但却无法找到正确的方法。有人可以帮忙吗?

2 个答案:

答案 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);

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