在我的视图中,我有多个csrf令牌字段,因为我在多个地方发生了发布请求。
<input type="hidden" name="_csrf" value="<%= csrfToken %>">
<button type="submit" class="button editItem" data-id="<%= product._id %>">Edit Item <i class="fa fa-arrow-circle-right"></i></button>
在使用了不同的DOM导航之后,似乎可以使用previousElementSibling
访问整个输入,但是我无法提取实际值,即:csrf令牌。
const editListingBtn = document.querySelector('.editItem');
if (editListingBtn) {
editListingBtn.addEventListener('click', e => {
const csrf = editListingBtn.previousElementSibling.querySelector('[name="_csrf"]').value;
尝试此操作使我无法读取null的属性“值”。
答案 0 :(得分:1)
应该不需要使用class
,querySelector
应该为您提供隐藏的输入,请更改为:
previousElementSibling