gpt4 book ai didi

javascript - 如何发送多个 XMLHttpRequest

转载 作者:太空宇宙 更新时间:2023-11-04 01:05:09 25 4
gpt4 key购买 nike

我有一个关于 Node js 和 Express 框架的问题。

我想在我的服务器代码中执行以下操作:

  • 使用 xmlhttprequest 1 调用远程服务器
  • 处理响应
  • 使用 xmlhttprequest 2 调用远程服务器

这是我的服务器代码的简化版本:

app.js:

var express = require('express');
var routes = require('./routes');
var about = require('./routes/about');
var user = require('./routes/user');
var contact = require('./routes/contact')
var http = require('http');
var path = require('path');
var cors = require('cors');
var app = express();
....
app.get('/', routes.index); //<---currently this is handled in index.js, in function index.

index.js:

exports.index = function(req, res){
//xmlhttprequest 1 // <--- send xhr 1
//process data
//xmlhttprequest 2 // <--- send xhr 2
};

我收到消息发送 header 后无法发送。我阅读了 Express 文档并了解到,当我们在发送请求后尝试修改 header 时,就会发生这种情况。我还阅读了一些有关中间件和路由的内容。但我不清楚文档。

有人可以指出执行此操作的理想方法是什么吗?我可以使用包含相关信息的链接。我是 Express 和 Node js 的新手。

编辑:更多详情:

  • 用户正在我的网站 foo/的登陆页面上。

  • 他输入了一些详细信息,我根据这些详细信息制作了第一个xmlhttprequest。

  • 我处理来自 API 1 的数据,使用处理后的数据作为输入API 2,这又是一个 xmlhttprequest。

最佳答案

如果您想发送两个不同的 XHR 请求,则需要为其定义两个不同的路由:

app.get('/XHR1', routes.xhr1);
app.get('/XHR2', routes.xhr2);

您收到发送 header 后无法发送的原因是因为您正在响应客户端(可能通过诸如 res.send(200), full list 之类的方式),然后尝试再次响应客户端。每次通话您只能回复一次。

关于javascript - 如何发送多个 XMLHttpRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23718328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com