我已经在这里待了几个小时,不得不再问另一组敏锐的眼睛。提前谢谢。
基本上,当我转到我的URL(例如55.55.55.55 / select)时,它会从数据库发送JSON数据以供查看。
现在在客户端,我尝试访问数据,但由于某种原因不能。 **** BTW,我点击触发eventListener。 我尝试了很多不同的东西,比如改变代码和研究,但仍然无法解决这个问题。
document.getElementById('clicks').addEventListener('click', function(event){
var req = new XMLHttpRequest();
var reqString = url + "/select";
req.open('GET', reqString, true);
req.addEventListener('load',function() {
if (req.status >= 200 && req.status < 400) {
var response = req.responseText; // used to be var response =
// JSON.parse(req.responseText);
document.getElementById('status').textContent = req.responseText;
//console.log(response);
//alert(response.name[0]);
selectOption(response);
//document.getElementById('status')..responsetext = req.responseText;
}else {
// If a server error was received, post the response text to the log
console.log("Error in network request: " + req.statusText);
}
});
req.send();
//event.preventDefault();
});
//html
<form id="clicks">
<fieldset>
<legend>Data</legend>
<p>
<input type="submit" class="buttons" id="submitBtn" name="submitBtn">
</p>
</fieldset>
</form>
<p id="status"></p>
<div>
<select id="selectNumber">
<option>Choose a Hotel</option>
</select>
</div>
<script src="/script.js">
</script>
编辑: (不是问题):hotelScript.js:43 XMLHttpRequest无法加载%55.55.55.55 / select。交叉源请求仅支持协议方案:http,data,chrome,chrome-extension,https,chrome-extension-resource。
答案 0 :(得分:0)
我认为您可以使用以下方式解析json: var obj = JSON.parse(queryObj.jsonData);
答案 1 :(得分:0)
问题是相同的域原始策略(限制)。服务器的URL地址应与浏览器URL的PORT,HOST和协议完全匹配。
如果node.js在不同的端口(甚至主机)上运行,则必须在Web服务器上创建一个崇拜代理。
答案 2 :(得分:0)
您的网址变量到底是什么样的? 它似乎错过了 http:// 前缀。 确保它在网址中......
答案 3 :(得分:0)
req.setRequestHeader("Content-Type", "application/json");
req.end(JSON.stringify(payload));
在加载后需要这些
答案 4 :(得分:-1)
首先尝试在导航器中访问URL并查看是否获得了de JSON。
无论如何,我认为您必须更改send
end
res.end(tableInfo);
end
函数关闭连接。然后导航器知道传输已结束并且所有数据都已转移
同时更改
req.addEventListener('load',function() {
通过
req.addEventListener('onreadystatechange',function() {