我很难将输入到span中的数据显示给AJAX请求,它是根据整个对象的外观来显示的。如何调整这一点,以便它只输出输入的字符串?
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Random Input</title>
</head>
<body>
<form>
<fieldset>
<legend>Data Lookup</legend>
<label for="data"></label>
<input type="data" name="firstData" id="firstData" placeholder= "Input">
<input type="submit" id="inputSubmit">
</fieldset>
</form>
<h2>Output</h2>
<ul>
<li>
<span>Data Output: </span><span id="newData"></span></li>
</ul>
<script src="input.js"></script>
</body>
</html>Javascript
document.addEventListener('DOMContentLoaded', bindButtons);
function bindButtons(){
document.getElementById('inputSubmit').addEventListener('click', function(event){
var req = new XMLHttpRequest();
var payload = {firstData:null};
payload.firstData = document.getElementById('firstData').value;
req.open('POST', 'http://httpbin.org/post', true);
req.setRequestHeader('Content-Type', 'application/json');
req.addEventListener('load',function(){
if(req.status >= 200 && req.status < 400){
var response = JSON.parse(req.responseText);
document.getElementById('firstData').textContent = response.firstData;
document.getElementById('newData').innerHTML = response.data;
} else {
console.log("Error in network request: " + req.statusText);
}});
req.send(JSON.stringify(payload));
event.preventDefault();
});
}发布于 2017-11-03 05:04:26
将以下内容替换为:document.getElementById('newData').innerHTML = response.data;改为document.getElementById('newData').innerHTML = JSON.parse(response.data).firstData;。
希望这能帮上忙!
https://stackoverflow.com/questions/47088658
复制相似问题