从url解析json文件的javascript botton不起作用
我试图用一个按钮显示从url获得的json文件中的文本,我现在看到的是:从url解析json文件的javascript botton不起作用,javascript,node.js,express,Javascript,Node.js,Express,我试图用一个按钮显示从url获得的json文件中的文本,我现在看到的是: <p id="text">Show Text Here</p> <button class="button">Article 1</button> <script src="jquery/jquery-2.1.4.min.js"> $("button").click(function(){ $.getJSON("http://localhost:3001/api
<p id="text">Show Text Here</p>
<button class="button">Article 1</button>
<script src="jquery/jquery-2.1.4.min.js">
$("button").click(function(){
$.getJSON("http://localhost:3001/api/reading", function(data, status){
var obj=JSON.parse(data);
document.getElementById("text").innerHTML =obj;
console.log(obj);
});
});
</script>
但是按钮不起作用,有没有关于如何修复它的建议?API正在返回JSON响应,因此数据
将是对象的类型
,因此您需要将对象转换为字符串,然后分配
$(“按钮”)。单击(函数(){
$.getJSON(“http://localhost:3001/api/reading,功能(数据、状态){
//由于数据已经是对象,您需要将其转换为文本
document.getElementById(“text”).innerHTML=JSON.stringify(数据);
控制台日志(数据);
});
});代码>
在此处显示文本
第1条
将console.log放入click函数或调试器中的单步执行将显示按钮确实响应了单击
看起来您确实试图在不解析字符串的情况下将JSON分配给字符串。您是否收到任何控制台错误
要检查$.getJson是否在请求中给出错误,请添加如下.fail()
,查看问题所在:
$.getJSON("http://localhost:3001/api/reading", function(data, status){
var obj=JSON.parse(data);
document.getElementById("text").innerHTML =obj;
}).fail(function( jqxhr, textStatus, error ) {
var err = textStatus + ", " + error;
console.log( "Request Failed: " + err );
});
首先,正确使用关闭标记
<p id="text">Show Text Here</p>
<button class="button">Article 1</button>
<script src="jquery/jquery-2.1.4.min.js"></script>
非常确定这是一个解析错误,因为您从服务器端返回一个对象,然后尝试在客户端解析它。检查你的控制台是否有错误。天哪,谢谢,我是一个很近的标记错误,它无法工作!现在控制台日志显示,当我单击按钮时,它从url获取json文件,但目标段落没有被替换
<p id="text">Show Text Here</p>
<button class="button">Article 1</button>
<script src="jquery/jquery-2.1.4.min.js"></script>
$("button").click(function(){
$.getJSON("http://localhost:3001/api/reading", function(data, status){
$("#text").text(JSON.stringify(data));
});
});