Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从url解析json文件的javascript botton不起作用_Javascript_Node.js_Express - Fatal编程技术网

从url解析json文件的javascript botton不起作用

从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

我试图用一个按钮显示从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/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));
  });
});