web学习 -- JavaScript 链接 API

概述

API

应用程序接口,定义为各种软件组件之间的一组通信方法
即,API允许软件与另一软件进行通讯

webAPI

CRUD应用程序:create创建,read读取,update更新,delete删除(增删改查)
webAPI

实操

创建index.html

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>Ghibli App</title>

    <link
      href="https://fonts.googleapis.com/css?family=Dosis:400,700"
      rel="stylesheet"
    />
    <link href="style.css" rel="stylesheet" />
  </head>

  <body>
    <div id="root"></div>
    <script src="scripts.js"></script>
  </body>
</html>

设置层叠样式 css

#root {
  max-width: 1200px;
  margin: 0 auto;
}

.container {
  display: flex;
  flex-wrap: wrap;
}

.card {
  margin: 1rem;
  border: 1px solid gray;
}

@media screen and (min-width: 600px) {
  .card {
    flex: 1 1 calc(50% - 2rem);
  }
}

@media screen and (min-width: 900px) {
  .card {
    flex: 1 1 calc(33% - 2rem);
  }
}

JavaScript 链接API

获取API断点

使用HTTP请求检索数据

在尝试将任何内容放置在网站的前端之前,先打开API的连接。

使用XMLHttpRequest对象,这是打开文件并发出HTTP请求的一种方式。

创建一个request变量并为其分配一个新XMLHttpRequest对象。然后使用open()方法打开一个新连接-在参数中,我们将指定请求的类型GET以及API端点的URL。请求完成,我们可以访问onload函数内部的数据。完成后,我们将发送请求。

// Create a request variable and assign a new XMLHttpRequest object to it.
var request = new XMLHttpRequest()

// Open a new connection, using the GET request on the URL endpoint
request.open('GET', 'https://ghibliapi.herokuapp.com/films', true)

request.onload = function () {
  // Begin accessing JSON data here
}

// Send request
request.send()

使用json响应

现在已经收到来自HTTP请求的响应,但响应是使用JSON的,因此需要将该JSON转换为JavaScript对象才能使用它。

用JSON.parse()解析响应,并创建一个data包含所有JSON作为JavaScript对象数组的变量。
使用forEach(),我们将控制台注销每部电影的标题,以确保其正常工作。

// Begin accessing JSON data here
var data = JSON.parse(this.response)

data.forEach((movie) => {
  // Log each movie's title
  console.log(movie.title)
})

处理状态码

// Begin accessing JSON data here
var data = JSON.parse(this.response)

if (request.status >= 200 && request.status < 400) {
  data.forEach((movie) => {
    console.log(movie.title)
  })
} else {
  console.log('error')
}

代码

采用同步方法

var request = new XMLHttpRequest()

request.open('GET', 'https://ghibliapi.herokuapp.com/films', true)
request.onload = function () {
  // Begin accessing JSON data here
  var data = JSON.parse(this.response)

  if (request.status >= 200 && request.status < 400) {
    data.forEach((movie) => {
      console.log(movie.title)
    })
  } else {
    console.log('error')
  }
}

request.send()

显示数据

获取HTML的dom元素并绑定数据

const app = document.getElementById('root')

const logo = document.createElement('img')
logo.src = 'logo.png'

const container = document.createElement('div')
container.setAttribute('class', 'container')

app.appendChild(logo)
app.appendChild(container)

将json数据绑定到dom元素中

data.forEach((movie) => {
  // Create a div with a card class
  const card = document.createElement('div')
  card.setAttribute('class', 'card')

  // Create an h1 and set the text content to the film's title
  const h1 = document.createElement('h1')
  h1.textContent = movie.title

  // Create a p and set the text content to the film's description
  const p = document.createElement('p')
  movie.description = movie.description.substring(0, 300) // Limit to 300 chars
  p.textContent = `${movie.description}...` // End with an ellipses

  // Append the cards to the container element
  container.appendChild(card)

  // Each card will contain an h1 and a p
  card.appendChild(h1)
  card.appendChild(p)
})
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: DICOMweb是一个用于医学影像数据传输和交换的标准协议,它基于Web技术,并且可以通过HTTP协议在网络上传输DICOM图像和相关信息。dicomweb-client是一个用于访问DICOMweb服务的客户端工具。下面是关于dicomweb-client的简单教程。 首先,为了使用dicomweb-client,我们需要安装Node.js运行环境。Node.js是一个基于Chrome V8引擎的JavaScript运行环境,它可以让我们在命令行中运行JavaScript脚本。 安装完成后,我们需要使用npm(Node.js的包管理器)来安装dicomweb-client。在命令行中运行以下命令: ``` npm install dicomweb-client ``` 安装完成后,我们可以在JavaScript脚本中使用dicomweb-client来访问DICOMweb服务。首先,我们需要导入dicomweb-client模块: ```javascript const { DICOMwebClient } = require('dicomweb-client'); ``` 然后,我们可以实例化一个DICOMwebClient对象来连接DICOMweb服务器: ```javascript const client = new DICOMwebClient({ url: 'http://your_dicomweb_server_url', }); ``` 接下来,我们可以使用DICOMwebClient对象的方法来执行各种操作。例如,我们可以使用retrieveStudies方法来检索指定患者的研究(study)列表: ```javascript client.retrieveStudies({ queryParams: { PatientID: '1234567890', }, }).then((result) => { console.log(result); }).catch((error) => { console.error(error); }); ``` 这样,我们就可以通过DICOMweb服务检索患者的研究列表,并将结果打印到控制台。 除了检索研究,dicomweb-client还提供了其他功能,如检索系列(series)、检索图像(instance)等。 综上所述,dicomweb-client是一个使用Node.js的DICOMweb客户端工具,它使我们能够通过HTTP协议访问DICOMweb服务,并执行各种操作。通过掌握dicomweb-client的使用,我们可以方便地处理和交换医学影像数据。 ### 回答2: DICOMweb-client是一个用于访问和获取医学图像和信息通信的开源工具。它是一个基于Web的应用程序,可以通过HTTP协议与DICOMweb服务器进行通信,并在浏览器中显示和处理医学影像数据。 Dicomweb-client提供了一套简单易用的API,使开发人员可以轻松地将医学图像集成到自己的应用程序中。使用该工具,用户可以实现DICOM图像的检索、显示、存储和传输等各种功能。 Dicomweb-client的使用教程分为以下几个主要部分: 1. 环境设置:首先,我们需要在本地环境中安装和配置dicomweb-client。这包括安装Node.js和NPM,下载dicomweb-client的代码,并进行一些配置。 2. 连接DICOMweb服务器:在这一步中,我们需要将dicomweb-client配置为连接到相应的DICOMweb服务器。这包括指定服务器的地址、端口号和遵循的DICOMweb协议版本。 3. DICOM图像的检索:通过dicomweb-client,我们可以使用DICOMweb协议实现对DICOM图像的检索。用户可以根据各种检索条件(如患者ID、日期、模态等)来搜索和获取特定的图像数据。 4. 图像显示和处理:一旦我们成功检索到DICOM图像,我们可以使用dicomweb-client在浏览器中显示这些图像。它提供了图像浏览和操作的功能,比如放大、缩小、旋转和窗宽窗位等。 5. 图像的存储和传输:通过dicomweb-client,我们可以将图像数据存储到本地系统中,或者将其传输到其他DICOMweb服务器。这使得我们可以方便地在不同的系统之间共享和交换医学影像数据。 总而言之,dicomweb-client教程提供了一个指导开发人员使用DICOMweb协议访问和处理医学图像的步骤。它使得开发者能够更加轻松地集成DICOM图像到自己的应用程序中,并实现各种图像处理和数据传输的功能。 ### 回答3: dicomweb-client是一个用于与DICOM Web服务器进行通信的工具。它用于检索、存储和传输医学图像和相关信息。 dicomweb-client教程可以帮助用户学习如何使用dicomweb-client工具与DICOM Web服务器进行交互。教程通常会涵盖以下内容: 1. 安装和配置dicomweb-client:教程将提供如何下载、安装和配置dicomweb-client工具的详细说明。这包括设置所需的环境变量、配置文件和认证信息等。 2. 连接DICOM Web服务器:教程将介绍如何使用dicomweb-client建立与DICOM Web服务器的连接。这可能涉及到输入服务器的URL、端口号和身份验证凭据等。 3. 检索医学图像和相关信息:教程将演示如何使用dicomweb-client从DICOM Web服务器检索医学图像和相关信息。这可能包括指定检索条件、过滤结果和处理返回的数据等。 4. 存储医学图像和相关信息:教程将展示如何使用dicomweb-client将医学图像和相关信息存储到DICOM Web服务器。这可能涉及到指定存储位置、格式转换和处理存储结果等。 5. 其他功能和高级用法:教程还可能介绍其他功能和高级用法,如显示DICOM图像、处理DICOM标记、执行DICOM操作和导出数据等。 通过学习dicomweb-client教程,用户可以更好地理解和使用dicomweb-client工具,从而更有效地与DICOM Web服务器进行交互,并在医学图像和相关信息的处理和传输方面取得良好的结果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值