簡體   English   中英

在ajax響應中從html獲取輸入值

[英]get input value from html in ajax response

要獲取頁面的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的變量,我如何獲得帶有名稱標記的輸入值? 我可以以某種方式將其轉換為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); 

您可以這樣解析您的xmltHttp.response文本:

  var xmlString = "<input name='token1' type='hidden' value='12345' />"; // Use your xmlHttp.responseText here. This is for demonstration purposes var parser = new DOMParser(); var element = parser.parseFromString(xmlString, "text/html"); console.log(element.querySelectorAll('[name="token1"]')[0].value); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM