Articles of jquery

在延迟callback时不会抛出/显示错误

我们正在用RequireJS和Node构build一个项目,并重用服务器和客户端的模块。 到目前为止,这是相当不错的(一些小小的纠结)。 一个问题似乎是延迟callback中的错误不会显示在节点控制台中(或者以任何其他方式)。 debugging非常困难。 asdasdasd(); // Throws error, function is undefined, as intended this.loadOrganization(organization_key, true).then(function(org) { asdasdasd(); // No error anywhere, script just stops executing }); loadOrganization返回一个延迟对象,并且调用callback被调用 – 但是没有显示与undefined有关的错误消息(当评估模块时,通常的语法错误是由节点报告的)。 我们使用jsdom和jquery在服务器端引导浏览器的内容。 然后将jquery从jsdon传递给大多数方法 – 所以用于loadOrganization的延迟对象是jQuery通过jsdom的。 然而,从npm安装的jquery中将延迟改为1是没有区别的。 任何build议都是有帮助的,当没有打印错误时,很难debugging。

在另一个JS文件中加载JavaScript文件

我使用node.js和socket.io并做一个服务器/客户端的事情。 在我的服务器,是因为它不在一个网页上,有没有办法我可以加载最新的文件(或最新的jQuery?),所以我可以在我的服务器js文件中使用jQueryfunction。 我试着做npm install jquery然后将jquery文件夹拖到我的网站node_modules文件夹中。 然后在我的文件顶部,我把var $ = require('jQuery'); 然后我运行它,我得到错误Cannot find module 'location' 谢谢

`window.XMLHttpRequest`是未定义的

我正在修复一个JavaScript window元素的问题。 我已经做了经典: npm install jQuery npm update 然后,在第1行的'server.js'文件中 var $ = require('jQuery'); 在我的Ubuntu上,这个代码运行良好,没有问题,应用程序继续前进。 在Windows 7上有一个我不能与之战斗的怪物。 编写node server.js在我的CMD(与pipe理权限),我看到这个味精: 我只是不能把这个原因: window.XMLHttpRequest is undefined 。 我是一个好奇的人,所以我发现window.XMLHttpRequest被初始化,以及谁/什么适用于此: 在http://github.com/coolaj86/node-jquery/blob/master/lib/node-jquery.js的第8行。 window.XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest; 为什么没有做好工作? https://github.com/driverdan/node-XMLHttpRequest/blob/master/lib/XMLHttpRequest.js这里是xmlhttprequest代码。

用jQuery在客户端添加Jade块的内容

当页面加载时,我有一些从Jade加载的内容(例如,连接的用户列表)。 这个内容是dynamic的,通过socket.io消息通知客户它的变化。 客户端的jQuery脚本必须添加新的内容或删除旧的内容 。 问题是新的内容可能非常复杂(例如,用户的所有信息),我必须在客户端脚本中重写HTML代码(而jQuery不是为此而devise的)。 我试图克隆和编辑现有的结构(可以隐藏),但我认为这不是最好的方法。 例 服务器端 #usersList each user in users .userBox .userName #{user.name} .userCountry #{user.country} .userMail #{user.mail} 客户端 websocket.on('newUser', function(user) { $('<div class="userBox">'+ '<div class="userName">' + user.name +'</div>'+ '<div class="userCountry">' + user.country +'</div>'+ '<div class="userMail">' + user.mail +'</div>'+ '</div>').appendTo($('#usersList')); }); 客户端代码是可怕的。 我想知道我是否可以在Jade中拥有一块内容,然后执行此操作。 websocket.on('newUser', function(user) { $(jade.userBox(user)).apprendTo('#usersList'); }); 如果不可能,最好的方法是什么?

如何保存DOM插入?

我想知道如何保存我的HTML页面的以前的DOM插入。 码: //With jQuery $('#container').append('Hi!'); 而窗口将显示Hi! ,但我想知道如何保存插入,当我刷新页面,显示我2 Hi! ,这是之前插入jQuery Mark的结果。 如何将JavaScript中执行代码后的HTML结构中的更改保存(如下面的示例)?

jQuery的getJSON不响应,但直接访问

我将我的工作从旧环境迁移到新环境。 我在更新过时的代码与更新的中间,它似乎运行良好(我的web服务写在node.js) 我有我的web服务运行在node.js和我的网站使用jQuery。 node.js代码 var express = require('express'); var app = express(); app.get('/', function(req, res){ console.log('GET request to /'); }); app.listen(8888); console.log('Express server started on port 8888'); 这是我的jQuery代码 $.getJSON('http://URL:8888/getTables', function(data){ //stuff }); 然而在萤火虫控制台显示: "http://URL.com:8888/getTables 200 OK 64ms" 没有回应 如果我直接去“http://URL.com:8888/getTables”网站,我得到我的数据。 任何想法是怎么回事? 我将离开Web服务运行,所以你可以看到我在说什么。 使用它的网站是http://www.URL.com/db/index.html 编辑: app.get('/getTables', function(req, res){ console.log('GET request to /getTables'); getTables(req, res); sendJSON(res, 200, cache_tables); […]

meteor:从NodeJs到PHP的jQuery ajaxpost

我正在使用这个 API在我的meteor应用程序中执行CRUD数据库操作。 到现在为止,每个操作都很好地完成。 现在考虑一个用例,其中发生了一些错误(例如一些validation错误,如无效参数),那么我想通过jQuery ajax调用将错误对象发送到php脚本。 所以问题是:如何从NodeJs脚本将对象发布到php? 我曾尝试通过meteor add jquery添加Meteor的默认jquery包。 然后做了这样的事情: var $ = require('jquery'); …. …. function test(data){ console.log('test'+JSON.stringify(data)); $.post({ type: 'POST', url: 'http://vibsy.com/test/chest.php', data: data, success: function(data) { console.log(data); } }); } 但是这显示错误: ReferenceError: require is not defined at app\server\collectionapi.js:1:10 有任何想法吗?

获得CORS与JQuery客户端,Node / Express服务器一起工作的问题

我有一个问题得到跨来源资源共享与cookie的工作。 这是我的设置: 客户: $.ajax({ type: 'POST', url: '/processReq', data: params, xhrFields: {withCredentials:true}, crossDomain: true, success: … }); 我已经在浏览器中debugging了客户端,并且已经证实XMLHttpRequest.withCredentials实际上是正确的。 服务器: 我正在设置以下标题: res.header('Access-Control-Allow-Credentials', true); res.header('Access-Control-Allow-Origin', '*'); 我的问题是,我不能让会话cookie被浏览器存储,并发送到服务器的后续请求。 以下是浏览器中的响应标题: { "server": "nginx/1.2.6", "date": "Fri, 01 Feb 2013 23:46:07 GMT", "content-type": "application/json; charset=utf-8", "content-length": "306", "connection": "keep-alive", "x-powered-by": "Express", "access-control-allow-credentials": "true", "access-control-allow-origin": "*", "set-cookie": [ "id=s%3Azm1m…NXe4Lkr9rLw; Domain=api.mydomain.io; Path=/; Expires=Sat, […]

通过Node.js Ajax服务Javascript文件的正确方法?

我正在尝试编写一个节点应用程序,它将crjavascript代码提供给一个静态网页。 代码将在网页中进行评估。 类似于这个例子 ,但用节点而不是php。 服务器应用程序如下所示: // Load the http module to create an http server. var http = require('http'); // Configure our HTTP server var server = http.createServer(function (req, res) { var js; //send back all libraries fs = require('fs'); res.writeHead(200, {'Content-Type': 'text/plain'}); //var paths = ['javascript.js']; js = fs.readFileSync('example.js').toString(); res.end('_js(\'{"message": " ' + js […]

快速parsingreq.body中的multipart / form-data post

我试图使用在Chrome浏览器和Firefox浏览器上find的jQuery Ajax + FormData对象来上传文件。 我正在使用的代码如下: var formData = new FormData(); formData.append('image', $scope.image.data); $.ajax({ url: '/wines/'+id+'/image', type: 'POST', data: formData, processData:false, contentType:false }).done(function(){ $location.path('/'); }); 通过查看开发人员工具,我可以看到请求形成正确,但是express是识别req.body内的内容而不是req.files。 这是请求有效载荷图像: 快速configuration: app.configure(function(){ app.set('views', __dirname + '/app'); app.engine('.html', require('ejs').renderFile) app.use(express.static(__dirname + '/app')); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); }); 我做错了什么? 非常感谢。