Tag: xmlhttprequest

Javascript xmlhttp获取请求到nodejs服务器不返回任何内容

在开始之前,我想告诉你们所有的人,我自己都在寻找解决这个问题的方法。 这是我的nodejs服务器: var http = require('http'); http.createServer(function (req, res) { console.log("Recived request url " + req.url); var sname = req.url.search("name"); if(sname != -1){ sname = sname + "name".length + 1; var from = sname; while(req.url[sname] != '?' && sname<req.url.length){ sname++; } var name = req.url.substring(from,sname); console.log("Returning parameter of name – " + name); res.writeHead(200, {'Content-Type': […]

NodeJS Web应用程序file upload文件开始

我正在从事一个涉及file upload的NodeJS项目。 上传在客户端完成,代码如下: $('#file-upload').bind('change focus click', function() { var file = jQuery(this)[0].files[0]; if (file && file.fileName) { var xhr = new XMLHttpRequest(); xhr.upload.addEventListener('progress', onProgressHandler, false); xhr.upload.addEventListener('load', transferComplete, false); xhr.open('POST', '/upload', true); xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest'); xhr.setRequestHeader('X-File-Name', encodeURIComponent(file.fileName)); xhr.setRequestHeader('Content-Type', 'application/octet-stream'); xhr.send(file); function onProgressHandler(evt) { var percentage = event.loaded/event.total*100; console.log(percentage); } function transferComplete(evt) { console.log('Done'); } } }); 而在服务器端,我使用: […]

为什么发送给Node / Express服务器的XMLHttpRequest对象是空的?

我正在尝试制作一个表单,它会接收电子邮件地址并发送交易电子邮件。 我在香草JavaScript中使用XMLHttpRequest发送数据到服务器,但是当我查看从index.html发送的数据时,它只是服务器端的一个空对象。 在后端我使用Node和Express和Nodemailer。 Nodemailer工作正常。 我一直在试图弄清楚为什么查询对象没有任何内容。 // Here is server.js var express = require('express'); var nodemailer = require('nodemailer'); var app = express(); // Send index.html app.get('/', function(request, response) { response.sendfile('index.html'); }); // Where I should receive data from JS written in index.html app.post('/send', function(req, res) { var mailOptions = { to: req.query.to, subject: req.query.subject, text: req.query.text […]

xhr民意调查错误出来是使用socket.io时抛出

我写了一个关于socket.io的非常简单的演示,并使用phonegap将其打包。 我发现有问题。 打开我的应用程序约十秒后,连接将断开连接,因为xhr轮询error.if我刷新页面断开连接事件错误不会再来。 我使用1.2.0版本。这里是我的代码。 我已经简化了它。 服务器: var express = require('express'); var app = express(); var http = require('http').Server(app); var io = require('socket.io')(http); var path = require('path'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); io.sockets.on('connection', function (socket) { console.log("disconnect–"+socket.id+"–"+io.sockets.server.eio.clientsCount); socket.on('disconnect', function () { console.log("disconnect–"+io.sockets.server.eio.clientsCount); }); }); http.listen(80, function () { […]

NodeJS / ExpressJS在1个stream中发送大量数据的响应

我正在使用原生mongo rest api来创build应用程序,其中Node返回约400K的json。 我使用以下方法来请求mongo的本地API,并返回结果: http.request(options, function(req) { req.on('data', function(data) { console.log(data,data.rows); response.send( 200, data ); } ); } ) .on('error', function(error) { console.log('error\t',error); response.send(500, error); } ) .end(); 当我通过curl命中http://localhost:8001/api/testdata ,响应是正确的(从console.log输出到节点的控制台以及curl收到的是什么)。 但是当我通过应用程序中的ajax打开它时,stream被中断了,即使输出到Node的控制台(Terminal)的数据也很奇怪:它具有多个EOF,并且chrome开发工具中的Network> response响应结束于第一个EOF。 另一个奇怪的事情是: data看起来像: { "offset": 0, "rows": [ … ] } 但在节点和客户端(angular)都不能引用data.rows(它返回undefined)。 typeof data返回[object Object] 。 编辑 curl和angular(由Node报告)的请求标头是: req.headers: { 'x-action': '', 'x-ns': 'test.headends', […]

节点js / Angular js – 小心:临时标题显示

这是我的Angular js代码: $http({ method:'POST', withCredential:true, url:$scope.config.app_ws+'auth/signup', data:{user:$scope.auth} }).success(function(status, response){ console.log(response); }).error(function(status, response){ alert(response+'Bummer 🙁 , an error occured plese retry later. '); }); 这是我的Node.js片后端: var allow_cross_domain= function(req, res, next) { res.header('X-Powered-By', 'hey.heyssssssss.org'); var oneof = false; if(req.headers.origin) { res.header('Access-Control-Allow-Origin', req.headers.origin); oneof = true; } if(req.headers['access-control-request-method']) { res.header('Access-Control-Allow-Methods', req.headers['access-control-request-method']); oneof = true; } if(req.headers['access-control-request-headers']) { res.header('Access-Control-Allow-Headers', […]

传递xhr onload函数的全局值

在我创build的应用程序中我有下面的XMLHttpRequest,我试图将xhr.onload()的data结果传递到在同一个父函数内创build的数组中。 var url = 'http://api.soundcloud.com/resolve.json?'+resource+'&'+CLIENT_ID; var xhr = new XMLHttpRequest(); xhr.open('GET', url, true); xhr.onload = function(){ var data = JSON.parse(xhr.responseText); console.log(data.permalink_url); }; xhr.send(); 在这个下面我有一个数组的构build块,我试图将数据的结果传递到轨道string。 var metadata = { id: val, title: title, url: posturl, track: data.permalink_url }; 到目前为止,我所尝试过的一切都会返回undefined或者function ,现在我完全没有想法了。

使用XMLHttpRequest将多个file upload到Express.js 3.5服务器

我正在尝试在JavaScript中使用原生FileAPI构buildfile upload器,并且我想通过XMLHttpRequest(不带jQuery)将file upload到使用Express.js的Node.js服务器。 文件阅读部分工作正常,当我上传文件没有XMLHttpRequest它完美的作品(文件在Express.js req.files )。 问题是通过AJAX上传: req.files总是空的。 下面是一些代码: 表格: <form action="http://localhost:3000/upload" method="POST" enctype="multipart/form-data" name="form"> <input type="file" name="uploads" id="files" multiple="multiple"> <input type="submit" name="submit" value="submit"> </form> 前端的上传部分(在文件[0] .data中是一个文件 – 不是一个数组或东西): function uploadFiles(files) { var xhr = new XMLHttpRequest(); xhr.submittedData = files; // Array of objects with files included. But it neither works with an array of […]

node.js https请求和XMLHttpRequest有什么区别?

通过node.js模块和XMLHttpRequest发送的HTTPS请求有什么区别? 我试图发送一个HTTPS GET请求到亚马逊aws从javascript(XMLHttpRequest)得到一个安全令牌,它总是失败与“原始http:// my_ip访问控制,允许来源不允许,但如果我通过一个node.js模块发送相同的HTTPS GET请求,它工作正常。 我很困惑这个,因为如果服务器支持CORS,任何来自任何地方的请求都会失败,但是它通过node.js,而不是通过XMLHttpRequest。 这个失败 var url_ = "https://sts.amazonaws.com/?Action=GetSessionToken" + "&DurationSeconds=3600" + "&AWSAccessKeyId=XXXXXXXXXXXXXXX" + "&Version=2011-06-15" + "&Timestamp=" + encode(timestamp) + "&Signature=" + encode(hash) + "&SignatureVersion=2&SignatureMethod=HmacSHA256"; // Simple GET request $.get(url_, function(data) { alert("response: " + data); }); 这工作 var https = require('https'); var options = { host : 'sts.amazonaws.com', method : 'GET', path […]

Socket.io访问控制允许=来自远程站点的原始错误

我正尝试从另一个站点访问一个socket.io服务器。 它工作了几个星期,但现在我不断收到以下错误。 从heroku服务器访问节点上的服务器时会发生这种情况。 错误是: XMLHttpRequest cannot load http://site2.nodester.com/socket.io/xhr-polling//1311008802545. Origin http://site1.heroku.com is not allowed by Access-Control-Allow-Origin. Resource interpreted as Script but transferred with MIME type text/plain. Uncaught SyntaxError: Unexpected identifier 以下是我如何连接到套接字: socket = new io.Socket( 'site2.nodester.com', {port: 80, rememberTransport: false} ); 这里是服务器代码: // requires server = http.createServer(function(req, res){ // server stuffs }), server.listen(8362); var io = […]