为了获取页面的 html 响应,我使用:
var theUrl = "https://example.com/users/22";
var xmlHttp = new XMLHttpRequest();
xmlHttp.open( "GET", theUrl, false );
xmlHttp.send();
var html = xmlHttp.responseText;
现在将返回一个 535 行的 html 页面。 如果我们只是在当前页面上有该源代码,则可以获取标签的值(12345),如下所示:
<input name="token" type="hidden" value="12345" />
我们只需使用:
document.getElementsByName("token")[0].value;
但是由于 HTML 在 ajax 响应中作为名为 html
的变量,我如何获取带有名称 token 的输入值?我可以以某种方式将其转换为 DOM 元素,然后运行该代码吗?
请仅使用 javascript,不要使用 jQuery。
谢谢。
最佳答案
尝试创建一个 HTML 元素,添加响应,然后解析它。 我们需要添加一个类名来选择特定输入 getElementsByClassName ,或者,如果您想选择所有输入,您可以使用 getElementsByTagName
var responseText = '<input name="token" class="token" type="hidden" value="12345" />'
var el = document.createElement( 'html' );
el.innerHTML = responseText;
console.log(el.getElementsByClassName("token")[0].value);
关于javascript - 从ajax响应中的html获取输入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34398015/