fetch的概念以及基本用法
Body.blob()读取 Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 Blob 格式(二进制格式,包含二进制数据信息)的 Promise 对象。Body.text()读取 Response 对象并且将它设置为已读(因为 Responses 对象被设置为了 stream 的方式,所以它们只能被读取一次),并返回一个被解析为 USVString 格式(文本格式)的 Promise 对象。
在fetch-rewards文件夹中,运行以下命令以启动:
$ npm install // only once to install dependencies
$ npm start
默认情况下,该应用程序在上运行。
请求失败时,API将返回错误:
400:错误的请求
API参考
POST /交易
使用提交的付款人,积分和时间戳创建新交易。
如果发布成功,则返回事务列表。 如果提交了不正确的交易表格,则此调用将返回错误。
curl -X POST 'localhost:5000/transaction' -H 'Content-Type: application/json' --data-raw '{ "payer": "DANNON", "points": 300, "timestamp": "2020-10
使用fetch API来做后端请求,相比较传统的Ajax方式,在写出的代码上更加容易理解,也更便于别人看懂。但是在使用的过程中,经常有同学不能顺利从传统的Ajax请求(如果使用jquery的话,就是$.ajax,$.post,$.get)转移到新的fetch方式,很多时候就是卡在了获取响应数据的环节上。
用fetch来获取数据,如果响应正常返回,我们首先看到的是一个response对象,其中包括返回的一堆原始字节,这些字节需要在收到后,需要我们通过调用方法将其转换为相应格式的数据,比如JSON,BLOB
在 传统Ajax 时代,进行 API 等网络请求都是通过XMLHttpRequest或者封装后的框架进行网络请求,然而配置和调用方式非常混乱,对于刚入门的新手并不友好。今天我们介绍的Fetch提供了一个更好的替代方法,它不仅提供了一种简单,合乎逻辑的方式来跨网络异步获取资源,而且可以很容易地被其他技术使用,例如 Service Workers。
二 与Ajax对比
使用Ajax请求一个 JSON 数据一般是这样:
var xhr = new XMLHttpRequest();
xhr.open('GET', url/file,true);
xhr.onreadystatecha
Fetch API 提供了一个 JavaScript 接口,用于访问和操纵 HTTP 管道的一些具体部分,例如请求和响应。
它还提供了一个全局 fetch() 方法,该方法提供了一种简单,合理的方式来跨网络异步获取资源。
这种功能以前是使用 XMLHttpRequest 实现的。
fetch('/https://xxxx.xxx').then((data)=>{
//text()属于feych的API的一部分,返回的是一个Promise实例对象,用于获取后台返回的数据
return data.text();
}.then(data => {
console.log(data);
fetch请求携带参数
method(String):HTTP请求方法,默认为GET(GET、POST、PUT、DELETE)
关于该项目
我们有一个梦想,那个梦想就是拥有一个您可以在白天或黑夜随时访问的站点,并查看成千上万的狗图片!!!谁不喜欢这个主意!使用我们的顶级图像识别软件,我们可以验证每张照片确实包含狗的图像。
要启动并运行本地副本,请遵循以下简单步骤。
这是一个如何列出使用该软件所需的内容以及如何安装它们的示例。
npm npm install npm@latest -g
克隆仓库git clone https://github.com/RoodeAwakening/Fetch.git
安装NPM软件包pipenv install
pipenv install python-dotenv
pip install google-cloud-vision
npm install
我们将此应用程序设计为可养宠物的地方。确保您的狗的
while ($row = mysql_fetch_assoc($query)) { ?> ; charset=utf-8" /> $row['id']?>"> 用户: TYPE="text" NAME="user" value="$row['user']?>" />
标题: TYPE="text" NAME="title" value="$row['...
Electron 是一个基于 Node.js 和 Chromium 的桌面应用程序开发框架,可以使用 HTML、CSS 和 JavaScript 来构建跨平台的桌面应用程序。在本文中,我们将介绍如何使用 Python 和 Flask 结合 Electron 编写一个简单的桌面应用程序。
1. 安装 Electron
首先,我们需要安装 Electron。可以通过 npm 来安装它:
npm install electron --save-dev
2. 创建 Electron 应用程序
接下来,我们需要创建一个基本的 Electron 应用程序。在项目根目录下创建一个名为 main.js 的文件,并添加以下代码:
const { app, BrowserWindow } = require('electron')
const path = require('path')
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
win.loadFile('index.html')
win.webContents.openDevTools()
app.whenReady().then(() => {
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
这段代码创建了一个基本的窗口,加载了一个名为 index.html 的文件,并打开了开发者工具。
3. 创建 Flask 应用程序
然后,我们需要创建一个 Flask 应用程序。在项目根目录下创建一个名为 server.py 的文件,并添加以下代码:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route('/api')
def api():
return jsonify({'message': 'Hello, World!'})
if __name__ == '__main__':
app.run(debug=True)
这段代码创建了一个简单的 Flask 应用程序,具有一个名为 /api 的路由,返回了一个 JSON 响应。
4. 集成 Flask 应用程序
现在,我们需要将 Flask 应用程序集成到 Electron 应用程序中。在 main.js 文件中添加以下代码:
const { app, BrowserWindow } = require('electron')
const path = require('path')
const { spawn } = require('child_process')
let flaskProcess = null
const flaskPath = path.join(__dirname, 'server.py')
function createWindow() {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
win.loadFile('index.html')
win.webContents.openDevTools()
app.whenReady().then(() => {
flaskProcess = spawn('python', [flaskPath])
createWindow()
app.on('activate', () => {
if (BrowserWindow.getAllWindows().length === 0) {
createWindow()
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
app.on('before-quit', () => {
flaskProcess.kill()
这段代码启动了一个 Python 进程来运行 Flask 应用程序,并在应用程序关闭之前杀死该进程。
5. 发起请求
最后,我们需要在渲染进程中发起请求。在项目根目录下创建一个名为 index.html 的文件,并添加以下代码:
<!DOCTYPE html>
<meta charset="UTF-8">
<title>Hello, World!</title>
</head>
<h1 id="message"></h1>
<script>
const { ipcRenderer } = require('electron')
ipcRenderer.on('message', (event, message) => {
document.getElementById('message').textContent = message
fetch('http://localhost:5000/api')
.then(response => response.json())
.then(data => {
ipcRenderer.send('message', data.message)
.catch(error => console.error(error))
</script>
</body>
</html>
这段代码使用 IPC 通信来从 Python 进程接收消息,并使用 fetch API 发起一个请求来获取 Flask 应用程序的响应。
6. 运行应用程序
现在,我们可以通过运行以下命令来启动应用程序:
npm start
这将同时启动 Electron 应用程序和 Flask 应用程序,并打开一个窗口,显示来自 Flask 应用程序的消息。
至此,我们已经成功地构建了一个使用 Python、Flask 和 Electron 框架的桌面应用程序。