Tag: ajax

cURL的formsaxios或ajax是什么?

我正在创build一个任务来发送PUT请求,并在节点中使用axios上传.pot文件。 我可以跑 curl -i -u api:<api-key> -F file=@dist/file.pot https://api-link.com/v2/api 它会正常工作 我试过在节点上做这个 var fd = require('form-data'); var axios = require('axios'); var form = new FormData(); form.append('file', 'dist/file.pot'); var header = { headers: Object.assign({}, apiToken(), form.getHeaders()) }; axios.put('https://api-link.com/v2/api/', form, header) .then(function(res) { console.log(res); }) .catch(function(err) { console.log(err); }) 这不像curl命令。 apiToken()是处理curl命令的-u api:<api-key>部分的函数,它返回{'Authorization': 'Basic <api-key>'} 。 我已经检查过该function,因为我能够成功地执行获取请求。 那么在ajax或axios中相当于-F file=@dist/file.pot是什么?

处理file upload在nodejs后端由xmlhttprequest中止

我已经实现了通过XMLHttpRequest专门从React前端发送文件到nodeJS(koa v1)后端,以获得跟踪file upload进度的能力。 作为补充,我决定通过标准的xhr.abort()函数添加上传取消。 没关系,在客户端工作得很好,但每次我得到后端引发的Parse Error : Error: Parse Error at Error (native) at Socket.socketOnEnd (_http_server.js:422:22) at emitNone (events.js:91:20) at Socket.emit (events.js:185:7) at endReadableNT (_stream_readable.js:973:12) at _combinedTickCallback (internal/process/next_tick.js:74:11) at process._tickDomainCallback (internal/process/next_tick.js:122:9) 下面是处理文件stream并将它们保存到本地机器的控制器的代码。 在formData之前,它是通过co-busboy formDataparsing的 module.exports.saveFiles = function* (files) { const savedFiles = []; let file = yield files; while (file) { const fileName = file.filename; […]

我怎样才能从数据库中得到正确的数据呢?

我使用nodejs + react + redux做了一个页面。 我在页面中做了一个编辑button,并想编辑我的数据。 现在我selectKUMAMOTO-CTI并将优先级从5更改为10.我使用ajax从数据库获取数据以填充空白。在提交之前,我可以从数据库中获得正确的数据。但是,当我改变优先级并单击编辑它填充的数据将是错误的,我必须刷新它,以获得正确的数据。 有时它会变成这样: 错误 有谁能告诉我如何解决? 这是pic: progress 这是我的代码。 server.js const Koa = require('koa') const Router = require('koa-router') const cors = require('koa2-cors') const app = new Koa() const router = new Router() import { createStore } from 'redux' import { Provider } from 'react-redux' import serversReducer from '../client/reducers/reducer' import { renderToString […]

从节点发送文件到客户端进行下载

我正在使用浏览器的ajax调用,所以,在button上点击一个函数被称为路由'/文件' app.get('/filez',function(req,res){ var id = req.params.id; console.log('id is : ',id); var video = ytdl(url, { filter: (format) => format.container === 'mp4' }) .pipe(fs.createWriteStream('video.mp4')); res.download('video.mp4'); 现在,该文件正在被下载到服务器。 但我想要做的是发送文件,以便客户端可以从浏览器下载。 我不希望该文件被下载到服务器。 这是我使用button单击从浏览器发出的ajax请求。 我想获取该文件作为可以下载到客户端计算机的响应。 function myAjaxCall(){ var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function(){ if(xhr.readyState ===XMLHttpRequest.DONE && xhr.status ===200){ console.log('response has come',xhr.response); return xhr.response; } }; xhr.open('GET','/filez',true); xhr.send(); }; 解释:呃,不是。 […]

React Dev环境创build一个新的Session

当我将React构build部署到NodeJS中时,我有一个简单的NodeJS&React Web应用程序。 当我点击login时,服务器将检查授权并redirect到另一个页面。 当我尝试从React构build(端口3000)运行webapp时,我注意到一旦login,我有一个新的会话,因此从服务器(端口8080)获取数据将无法正常工作。 https://github.com/Yanipo5/MenuCreator NodeJS – loginApi(路由到url将工作); router.post('/',approveUserPassword, function(req, res){ console.log(new Date() + ":" + req.sessionID) if(req.session.auth){ let url = 'http://localhost:3000/edit-menu'; res.redirect(url); } }); function approveUserPassword(req, res, next) { let email = req.body.email; let psw = req.body.psw; let query = "SELECT id FROM Users " + "WHERE email= '" + email + "' AND […]

将数据发送到节点JS中的服务器以下载文件

所以我试图从客户端发送数据到服务器,然后在服务器上,我正在创build一个新的文件,并在路由器发送响应下载该文件。 但我无法实现。 我正在使用AJAX调用。 以下是我的代码: 点击一个button,我的Ajax调用: $.ajax({ type: 'POST', url: '/createDownloadFile', data: JSON Object, }).done(() => { window.open('/download'); }); 在express.js中: app.post('/createDownloadFile', (req, res) => { downloadFile.createDownloadFile(req); res.send('SUCCESS'); }); 下载一个JS下面的文件: const fs = require('fs'); const path = require('path'); module.exports.createDownloadFile = (request) => { if (request) { let filePath; const userID = 'xyz'; filePath = path.join(__dirname, userID.concat('.txt')); const […]

如何将json数组写入到node.js文件中并再次请求客户端

我正在尝试创build一个具有保存和加载function的拖放表。 我正在使用来自REDIPS.drag的代码。 在使用REDIPS保存function时,表格内容将返回到客户端,并通过控制台进行提示,如下所示: [["d2",2,2,"blue","A1"],["d1",4,5,"blue","A2"],["d3",3,2,"blue","A3"],["d4",1,4,"blue","A4"]]. 我已经尝试了几种不同的方法将数据发布到节点并将其写入文件。 用这个方法: 的script.js $.ajax({ type: "POST", url:"post6/json", data: {table_content}, dataType:'json', contentType: "application/x-www-form-urlencoded" }); App.js var testjson = req.body; var tablestringify2 = JSON.stringify(testjson); fs.writeFile('views/test.json', tablestringify2,'utf8', function (err) { if (err) { // append failed } else { // done } }) 保存到文件的数据是: {"table_content":"[[\"ns1.8b\",3,1,\"\",\"ns1.8b\"],[\"ns3.1\",4,2,\"\",\"ns3.1\"]]"} 用这个方法: 的script.js $.ajax({ type: "POST", url:"post6/json", data: table_content, dataType:'json', […]

如何返回来自asynchronous调用的响应?

我有一个函数foo ,这使得一个Ajax请求。 我怎样才能返回foo的回应? 我尝试从successcallback中返回值,并将响应分配给函数内部的局部variables,并返回该variables,但是没有一个方法实际返回响应。 function foo() { var result; $.ajax({ url: '…', success: function(response) { result = response; // return response; // <- I tried that one as well } }); return result; } var result = foo(); // It always ends up being `undefined`.

节点js bodyparser ajax调用并在html中输出

我对node.js非常陌生,想用ajax调用简单的jsonparsing,并在html页面输出json内容。 我正在使用express csv2json转换器将csv文件转换为json,并使用bodyparser来尝试parsingjson。 这是我的app.js文件: //init app with express, util, body-parser, csv2json var express = require('express'); var app = express(); var sys = require('util'); var path = require('path'); var bodyParser = require('body-parser'); var Converter = require("csvtojson").Converter; //register body-parser to handle json from res / req app.use( bodyParser.json() ); //register public dir to serve static files (html, […]

使用ajax调用Express JS问题更新会话值

我需要在Ajax调用上更新会话值但是在重载页面值与之前相同之后,它仅更新该function。 AJAX $.ajax({ url:"trade_popup_visited", type:"post", data:{ user_id :user_id }, success:function(response){ if(response.status=="success"){ window.location.href = redirect_url; } } }); 服务器端 function trade_popup_visited(req, res){ console.log("Home File ",req.session.userdata.is_trade_popup_visited); //Here it print 0 (Zero) req.session.userdata.is_trade_popup_visited = '1'; console.log("Home File ",req.session.userdata.is_trade_popup_visited); //Here it print 1 (One) } 在调用Ajax成功响应的页面上redirect,它的Get Zero表示前一个状态。