Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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
Javascript 使用JS和HTML使用web服务_Javascript_Html_Api_Service - Fatal编程技术网

Javascript 使用JS和HTML使用web服务

Javascript 使用JS和HTML使用web服务,javascript,html,api,service,Javascript,Html,Api,Service,我期待着创建一个客户端浏览器界面,将利用字典的网络服务在。用户应该能够在输入组件中输入单词或短语并提交,而无需重新加载页面。返回的数据需要以一种可用的格式显示在页面上,以便他们能够找到并读取其含义 我尝试过通过Netbeans创建一个web服务,但我不确定这是否是正确的方法。它是否像创建HTML页面和使用javascript调用Glosbe的api那样简单 非常感谢您的帮助。您可以使用javascript中的XMLHTTPRequest轮询web服务。XHR对象非常适合于允许您对页面进行请求或提

我期待着创建一个客户端浏览器界面,将利用字典的网络服务在。用户应该能够在输入组件中输入单词或短语并提交,而无需重新加载页面。返回的数据需要以一种可用的格式显示在页面上,以便他们能够找到并读取其含义

我尝试过通过Netbeans创建一个web服务,但我不确定这是否是正确的方法。它是否像创建HTML页面和使用javascript调用Glosbe的api那样简单


非常感谢您的帮助。

您可以使用javascript中的XMLHTTPRequest轮询web服务。XHR对象非常适合于允许您对页面进行请求或提交表单,而无需刷新页面。当发出请求时,可以异步执行,以允许页面继续处理其他事件,然后处理响应并更新HTML。google上有大量资源可以指导您实现XHR对象和正确的错误处理以及示例代码

至于返回的数据是否以可用格式显示,则需要在响应返回时由JS完成。您可以解析所需数据的响应,并通过JS构建适当的HTML元素来更新UI

HTML

JS


这将允许用户在HTML页面上输入一个单词,并请求Glosbe web服务的回复?因此,您将设置一个输入框供用户键入,使用onkeypress事件侦听enter或按钮及其onclick事件初始化XHR对象。XHR对象将发出请求,当请求完成时,您将解析该信息并使用请求返回的信息在JS中创建一个HTML元素,该信息将使用您想要的任何内容更新UI。您是否可以向我展示这方面的代码示例?谢谢。我不知道如何在评论中编写代码,我试过了,但结果很糟糕。我会测试一下,然后再给你回复,但非常感谢你的帮助。
function sendMessage()
{
 var XHRrequest=new XMLHttpRequest();
 XHRrequest.onabort = function() {
 };
 XHRrequest.onloadend = function (evt) {
 };
 XHRrequest.onreadystatechange = function() {
  if (XHRrequest.readyState == 4 && XHRrequest.status == 200) {
   //parse XHRrequest.responseText for response and build object
   //this is where you update your UI with an HTML element
  }
  else if (XHRrequest.readyState == 4 && XHRrequest.status!=0) {
   console.log("Error: returned status code " + XHRrequest.status + " " + XHRrequest.statusText + "\r\n" + XHRrequest.responseText);
   //error handling for failed response
  }
 };
 XHRrequest.ontimeout = function() {
  alert("Error: event timed out");
 };
 XHRrequest.open("POST", WEBSERVICE_URL_HERE, true);
 XHRrequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
 XHRrequest.send("word="+document.getElementById('word').value); \\request data goes here
}