我正在尝试csv从node.js服务器流式传输文件.服务器部分非常简单:
server.get('/orders' function(req, res) {
res.setHeader('content-type', 'text/csv');
res.setHeader('content-disposition', 'attachment; filename='orders.csv');
return orders.pipe(res); // assuming orders is a csv file readable stream (doesn't have to be a stream, can be a normal response)
}
Run Code Online (Sandbox Code Playgroud)
在我的角度控制器中,我试图做这样的事情
$scope.csv = function() {
$http({method: 'GET', url: '/orders'});
};
Run Code Online (Sandbox Code Playgroud)
ng-click在我的视图中点击按钮时调用此函数:
<button ng-click="csv()">.csv</button>
Run Code Online (Sandbox Code Playgroud)
我已经查看了有关从Angular中的服务器下载文件的其他答案,但没有找到任何对我有用的内容.有一个共同的方法来做到这一点?似乎应该很简单.
我有一个敲除js的问题,并将一个可观察的数组显示为列表; 在beforeRemove动画运行时添加项目时,已删除的元素将移动到列表的底部,而不是保持其位置,直到动画完成并删除元素.
这是一个jsfiddle,可以更好地解释这个问题:http://jsfiddle.net/bPP5Q/8/
谁知道我怎么解决这个问题?
JavaScript的:
jQuery(function ($) {
var ViewModel = function (data) {
var self = this;
self.data = ko.observableArray(data);
self.removeLine = function (elem) {
if (elem.nodeType === 1) $(elem).fadeOut(3000, function () {
$(elem).remove();
});
}
self.addLine = function (elem) {
if (elem.nodeType === 1)
$(elem).hide().fadeIn(3000);
}
self.removeItem = function() {
self.data.remove(function(item) { return item.test && item.test == 2; });
}
self.addItem = function() {
self.data.splice(1, 0, { test: 9 });
}
self.addremove = function () …Run Code Online (Sandbox Code Playgroud) 我有一个使用RequireJS 2.1.8的Backbone应用程序(即我的所有Backbone视图都使用define()来指定它们的依赖关系).一切都很好,现在我正在尝试使用r.js(通过NPM安装)将我的所有JavaScript连接/缩小为单个文件.
如何设置r.js配置,该配置排除以某些路径开头的依赖项?
我在下面包含了我的main.js文件.在这种情况下,我希望"构建"输出文件排除第三方库(即jquery,骨干等).此外,我想排除任何以"webapp /"开头的依赖项(例如,"webapp/dynamic_cfg",这会导致请求被发送到我的Djang应用程序以获取动态生成的JavaScript文件/模块).
文件夹结构:
|--static/
|--main.js
|--myapp/
|--views/
|-- MyView.js
|-- ...
|--lib
|--backbone-1.0/
|--underscore-1.5.1/
|-- ...
Run Code Online (Sandbox Code Playgroud)
index.html(一个Django模板):
<script src="{% static 'lib/requirejs-2.1.8/require.min.js' %}" data-main="{% static 'main.js' %}" ></script>
Run Code Online (Sandbox Code Playgroud)
main.js:
requirejs.config({
paths: {
"jquery": 'lib/jquery-1.10.2/jquery.min',
"text_loader": 'lib/requirejs-text-2.0.10/requirejs-text',
"fuelux": 'lib/fuelux-2.3.1',
"backbone": 'lib/backbone-1.0/backbone.min',
"underscore": 'lib/underscore-1.5.1/underscore.min',
// Any module that requires 'webapp/*' will result Require.js
// making a request to the server webapp.
"webapp": '..'
},
shim: {
'backbone': {
deps: ['underscore', 'jquery'], // Load these dependencies first
exports: 'Backbone' // Create …Run Code Online (Sandbox Code Playgroud) 我正在尝试测试我正在编写的新指令.但是,我似乎无法在Karma/Jasmine中使用jQuery触发keydown事件.
以下是测试的简化版本:
'use strict';
describe('', function() {
var $compile;
var $scope;
beforeEach(inject(function(_$compile_, _$rootScope_) {
$compile = _$compile_;
$scope = _$rootScope_.$new();
}));
describe('Getting Trigger To Work', function() {
it('Should Trigger a KeyDown Event', function() {
var el = $compile('<form name="testing"><input id="field1" name="testfield" ng-model="result" type="text" ng-minlength="5" ng-maxlength="50"/></form>')($scope);
console.log(el);
var inputEl = el.find('input');
console.log(inputEl);
var e = $.Event('keydown');
e.which = 65;
inputEl.trigger(e);
});
});
});
Run Code Online (Sandbox Code Playgroud)
我的业力配置包括AngularJS和jQuery.这是部分:
//
files: [
'lib/angular.js',
'lib/angular-mocks.js',
'lib/jquery-1.10.2.min.js',
'test/**/*Spec.js'
],
Run Code Online (Sandbox Code Playgroud)
当我运行测试时,我得到一个错误,我的input元素没有触发器方法:
INFO [watcher]: Changed file "/Volumes/Macintosh HD/dev_libraries/val-on-timeout/test/valOnTimeoutSpec.js".
LOG: Object{0: …Run Code Online (Sandbox Code Playgroud) 我使用node-phantom将项目发布到网站上的购物车.问题是,当我使用page.open导航到购物车页面时(在已经将项目添加到购物车之后),我得到一个html响应,说我需要在浏览器中启用javascript才能查看购物购物车页面.我检查了settings.javascriptEnabled设置,发现它设置为'true'.此时我很困惑,为什么页面认为phantomjs没有启用javascript?
这是我的代码:
var phantom = require('node-phantom');
phantom.create(function (err, ph) {
ph.createPage(function (err, page) {
page.get('settings', function(err, oldSettings) {
console.log('\r\n oldSettings: ' + JSON.stringify(oldSettings));
page.open('http://www.somesite.com/shoppingcart/default.cfm', function (err, status) {
page.injectJs(jqueryPath, function (err) {
setTimeout(function() {
page.evaluate(function (injectedSku) {
var localErr;
var skuInCart;
var checkoutLnkMsg;
var pageHTML;
try {
pageHTML = $("html").html();
// Get 'SKUs' input element.
skuInCart = $('input[name="SKUs"]').val();
if (injectedSku === skuInCart) {
var checkoutLnk = $('#cartAction_bottom a[alt="Checkout"');
checkoutLnk.on("click", function() {
checkoutLnkMsg = '"' + checkoutLnk.href + '" link has …Run Code Online (Sandbox Code Playgroud) 将 html 列表设为 ,
<ul id="slider">
<li class=""></li>
<li class=""></li>
<li class=""></li>
<li class="selected"></li>
<li class=""></li>
<li class=""></li>
<li class=""></li>
<ul>
Run Code Online (Sandbox Code Playgroud)
我正在将选定的类添加到任何 li 元素。在这里,我将 class="selected" 添加到第四个 li 元素。
想要在将所选类添加到任何 li 元素时执行一些代码。
试过这个,但没有按预期工作。
<script>
$(function() {
$('#slider').bind('DOMSubtreeModified', function(e) {
alert("Changed");
});
});
</script>
Run Code Online (Sandbox Code Playgroud) <ul>
<li class="first" value="45">fortyfive</li>
<li class="second" value="4text5">45</li>
</ul>
<input value="45">
Run Code Online (Sandbox Code Playgroud)
var whatIsValue = $('.first').val(); // = 45 typeof = number
var whatIsSecondValue = $('.second').val(); // = 4 typeof = number
var whatIsInputValue = $('input').val(); // = '45' typeof = string
Run Code Online (Sandbox Code Playgroud)
为什么var whatIsSecondValue = 4而不是'4text5'
为什么var whatIsInputValue = '45'而不是45
如何使用JSTL在JSP中捕获变量中的当前日期和时间?
<c:set property="currentTime" value="${System.CurrentTimeMillis()}"/>
Run Code Online (Sandbox Code Playgroud)
我在我的JSP中使用上面的代码但它抛出了一个错误.
org.apache.jasper.JasperException: The function currentTimeMillis must be used with a prefix when default namespace is not specified.
Run Code Online (Sandbox Code Playgroud) 我有一个关于我发现的简单jQuery手风琴的问题.
我想使用Font Awesome图标来指示带有加号和减号图标的活动/非活动状态.在我的JSFiddle中,您可以看到带有加号图标的手风琴标题.单击标题时,"fa-plus"类需要更改为"fa-minus".
我已经使用add和removeClass做了一些测试,但是我无法让它工作.我真的是一个jQuery/javascript菜鸟!希望你们能帮助我:-).
jQuery('.accordion dt').click(function() {
jQuery('.accordion dt').removeClass('active');
jQuery('.accordion_content').slideUp('normal');
if(jQuery(this).next().is(':hidden') == true) {
jQuery(this).addClass('active');
jQuery(this).next().slideDown('normal');
}
});
jQuery('.accordion_content').hide();
Run Code Online (Sandbox Code Playgroud)
如果textarea包含超过255个字母,我想使用angularJS来禁用提交按钮.我通常不使用angularJS,所以我真的不知道怎么做.这就是我所拥有的:(HTML)
<tr>
<td colspan="2" align="center">
<textarea rows="5" cols="40" name="Messge" ng-model="message"></textarea>
</td>
</tr>
<tr>
<td align="center">Number of letters left: <span ng-bind="left()"></span>
</td>
</tr>
<tr>
<td align="center" colspan="2">
<input type="submit" value="submit" ng-disabled="error" />
</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
现在这里是javascript文件代码:
angular.module('myApp', []).controller('userCtrl', function ($scope) {
$scope.messge = '';
$scope.error = false;
$scope.incomplete = false;
$scope.$watch('messge', function () { $scope.test(); });
$scope.test = function () {
if ($scope.messge.length > 255) {
$scope.error = true;
} else {
$scope.error = false;
}
};
});
Run Code Online (Sandbox Code Playgroud)
第二档:
app.controller("myNoteCtrl", function ($scope) …Run Code Online (Sandbox Code Playgroud) javascript ×9
jquery ×4
angularjs ×3
html ×2
node.js ×2
accordion ×1
attributes ×1
css ×1
font-awesome ×1
html-lists ×1
http ×1
http-headers ×1
jasmine ×1
jsp ×1
jstl ×1
karma-runner ×1
knockout.js ×1
phantomjs ×1
requirejs ×1
typeof ×1
web-scraping ×1