您好,我怎么能使用javascript从网址获取json

时间:2017-01-10 09:24:33

标签: javascript html json

我正在尝试构建一个具有关键功能的浏览器扩展,包括从html页面获取文本输入,并使用URL连接并从该连接的URL中获取json。

我想知道如何使用JavaScript将json从URL提取到变量。

这是抓取用户插入文本的html脚本。

<html>
<body>
<input type="text" id="search" name="Name" maxlength="10" class="searchField" autocomplete="off" title="" ><br>
  </p>
</form>
<p align="center">
<button type="button" id="srchbutton" style="background-color:Thistle;margin-left:auto;margin-right:auto;display:block;margin-top:22%;margin-bottom:%"> Search</button>
</p>
<script language="javascript" type="text/javascript" src="thanq.js">
    var button= document.getElementById('srchbutton');
    button.onclick= linkprocess();
    console.log("hi there");
</script>
</body>
</html>

这是我试图从URL访问json的JavaScript。

var oldlink='URL';
var newlink;
function linkprocess(links){
    var text= document.getElementById('search');
   newlink=oldlink+text;
   GetJson(newlink);
   console.log(newlink);
}

2 个答案:

答案 0 :(得分:0)

您可以在纯JavaScript中使用xmlhttp请求来执行此操作。看看这篇w3学校文章:JSON Http Request

为简化编写的代码,一旦熟悉了该机制,就可以使用jQuerys $ .get()或$ .ajax()方法。

答案 1 :(得分:0)

或者您可以使用现代fetch API,例如:

const searchVal = document.getElementById('search').value;

fetch('http://someprefix/' + searchVal)
  .then(response => response.json())
  .then(data => {
    console.log('Fetched:', data);
  })
  .catch(err => {
    console.error('Fetch error:', err);
  });