ios11文件拖拽拖拽功能怎么关闭

目录前言Express简介和安装运行第一个基于express框架的Web模版引擎 ejsexpress项目结构express项目分析app.set(name,value)app.use([path], function)app.get(name)路由文件index.js前言  前面也学习了一些Node.js的基本入门知道,现在开始进入Web开发的部分;  Node.js提供了http模块,这个模块中提供了一些底层接口,可以直接使用,但是直接开发网站那还是太累了,所以http模块也不单讲了,可以去看官方API:http://nodejs.org/api/http.html  下面我们直接从Express框架着手去进行Web开发,它实现好了更高层的接口,让Web开发更简单快捷...简介和安装  Express是一个轻量级、简洁、易用的Node.js Web MVC开发框架,它基于Node.js原有进行了很多Web开发所需的功能封装...  /  https://www.npmjs.org/package/express    安装npm install -g express-generator  /visionmedia/express#quick-start  -g:表示全局安装    &  到此express就在全局环境中安装成功!   PS:用npm安装有时可能进度不动,多试几次!运行第一个基于express框架的Web&&  1.创建一个testWebAppexpress testWebApp  &  2.安装依赖项  注意上一步安装成功后的提示,需要cd到网站目录,并执行npm install命令安装项目依赖项(可以在项目的package.json文件的dependencies节点下看到需要哪些依赖)  3.修改app.js文件并运行  在testWebApp根目录下找到app.js并增加端口监听,在sublime中Ctrl+B运行app.listen(8100,function(){
console.log("Server Start!");});    4.通过浏览器访问,看看效果  &  到此成功的运行起来基本express框架的Web!&  相关提示:  1.在sublime中运行过后,如果想要关闭,去任务管理器中结束node.exe进程  2.不在sublime中运行,可以在cmd中执行node app,关闭使用快捷键Ctrl+C模版引擎 ejs  在上面创建的testWebApp中express默认使用的模版擎为jade,个人觉得jade虽然简洁但不直观,所以选择了更易上手的ejs。  ejs:Embedded JavaScript  /visionmedia/ejs  1.创建一个express + ejs的项目express -e testEjsWebAppcd&testEjsWebAppnpm install  express参数
Usage: express [options] [dir]
-h, --help
output usage information
-V, --version
output the version number
add ejs engine support (defaults to jade)
-H, --hogan
add hogan.js engine support
-c, --css &engine&
add stylesheet &engine& support (less|stylus|compass) (defaults to plain css)
-f, --force
force on non-empty directory    2.创建成功后,打开app.js,添加8100端口监听  3.打开routes文件夹下index.js,并修改代码如下    var express = require('express');var router = express.Router();/* GET home page. */router.get('/', function(req, res) {
res.render('index', { title: '&h1&Express&/h1&'
,users:[{username: 'Wilson'},
{username: 'Wilson Zhong'},
{username: 'Zhong Wei'}]
});});module.exports =修改后的index.js 源码  4.打开views文件夹下index.ejs,并修改代码如下  &!DOCTYPE html&&html&
&link rel='stylesheet' href='/stylesheets/style.css' /&
&%= title %&
&%- title %&
&% users.forEach(function(user){ %&
&h6&&%= user.username %&&/h6&
&/body&&/html&修改后的index.ejs 源码  5.运行页面,查看结果  &  在这里,我们还没有讲express的一些东西,所以大家先不要管太多细节部分,只要知道上面示例中当通过http://localhost:8100访问时,  会转到index.js,而index.js而index.ejs传递了title和users对象作为参数。&  这里重点看看index.ejs  ejs结尾的文件就是模版文件,可以看到在文件中我们用了三种标签方式(这种标签方式有过其它web开发经验的应该很好看懂)  1.&%= %&  这个标签在接到收到title: '&h1&Express&/h1&'时,从显示效果来看,他直接输出HTML标签到页面上,输出的是转义后的变量值  2.&%- %&&    而这个标签,从显示效果上看,他没有直接输出HTML代码到页面上,输出的是没有转义后的变量值  3.&% %&  而这个标签,从显示上看,他循环了出来参数中的值,标签中是javascript逻辑代码,注意括号的开闭合&  在这里,简单认识一下ejs,下面开始看看express的结构!&express项目结构  上面新建了一个叫testEjsWebApp的项目,模版引擎使用的ejs,先看看项目的结构    1.node_modules文件夹&  这文件夹就是在创建完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目需要的依赖项  2.package.json文件  此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)  node_modules文件夹下的依赖项是从哪里知道的呢?原因就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项  3.public文件夹(包含images、javascripts、stylesheets)  这个文件夹做过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的  4.routes文件夹  用于存放路由文件,  5.views文件夹  用于存放模版文件express项目分析  先从app.js看起  1.app.set(name,value)  把名字为name的项的值设为value,用于设置参数  app.set('views', path.join(__dirname, 'views')); & 设置了模版文件夹的路径;主要清楚__dirname的意思就可以了,它是node.js中的全局变量,表示取当前执行文件的路径  app.set('view engine', 'ejs'); &设置使用的模版引擎,我们使用的ejs  2.app.use([path], function)&  & 用这个方法来使用中间件,因为express依赖于connect,有大量的中间件,可以通过app.use来使用;path参数可以不填,默认为'/' &(项目中用到的就不分别解释了,用到的时候自已查一API的中间件部分)  app.use(express.static(path.join(__dirname, 'public'))); 这一句中可能要注意一下,express.static( )是处理静态请求的,设置了public文件,public下所有文件都会以静态资料文件形式返回(如样式、脚本、图片素材等文件)var routes = require('./routes/index');var users = require('./routes/users');app.use('/', routes);app.use('/users', users);  上面代码表示当用户使用/访问时,调用routes,即routes目录下的index.js文件,其中.js后缀省略,用/users访问时,调用routes目录下users.js文件  这就是为什么,我们示例中用http://localhost:8100/访问是,修改的index.js里的文件代码可以执行(当然index.js文件中也要写对应的代码,才能是我们最终看到的效果)  3.app.get(name)  获取名为name的项的值if (app.get('env') === 'development') {
app.use(function(err, req, res, next) {
res.status(err.status || 500);
res.render('error', {
message: err.message,
error: err
});}  表示如果是开发环境,处理error时会输出堆栈信息  4.路由文件index.js  主要看下面这段代码router.get('/', function(req, res) {
res.render('index', { title: '&h1&Express&/h1&'
,users:[{username: 'Wilson'},
{username: 'Wilson Zhong'},
{username: 'Zhong Wei'}]
});});  这段表示,router.get表示通过get请求/时,响应后面的function处理,两个参数分别是request、response;  res.render表示调用模版引擎解析名字index的模板,传并传入了title和users两个对象做为参数;  为什么它会知道解板views目录下的index.ejs?而不是其它目录下的文件,或者后其它后缀名的文件?  原因就是app.js中的设置:app.set('views', path.join(__dirname, 'views'));app.set('view engine', 'ejs');  而这两个参数在index.ejs中可以使用,那么加上ejs的部分,就会返回最终生成的页面展现!&  到此应该差不多能动手用express+ejs做了一点东西了,入门就先到这里吧!&  提示:关于express,还是有必要去看看API,application、request、response、router、middleware还提供了很多方法!&
最新教程周点击榜
微信扫一扫使用原生nodejs 不用express之类的框架,怎么知道req 是不是Ajax 请求呢? - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
如题啦!谢谢!
Ajax请求__与__普通请求__有什么__区别?
看似没啥区别,我就是想知道差别好返回不同的东西,express 和用req.xhr来判断,不知道原生的怎么搞,看了express的源码,小弟不才没看懂!
Express里面的代码是这样的:
* Check if the request was an _XMLHttpRequest_.
* @return {Boolean}
* @api public
req.__defineGetter__('xhr', function(){
var val = this.get('X-Requested-With') || '';
return 'xmlhttprequest' == val.toLowerCase();
使用原始的ServerRequest对象来判断的话,可以这样:
if (req.headers['x-requested-with'] && req.headers['x-requested-with'].toLowerCase() == 'xmlhttprequest') {
// 是AJAX请求
// 普通请求
其实就是看headers里的X-Requested-With的值是不是xmlhttprequest。。。
谢谢楼上两位仁兄回答,但是其实
req.headers[‘x-requested-with’] 得到是undefined ,我看express的时候也以为这样可以判断,结果的确是不行~
如果你想要给ajax请求返回不同的东西,按照http协议的约定,应该是XmlHttpRequest在请求的时候设置Accept头(默认是*/*),例如,设置Accept头为application/json。然后服务器检查Accept头,如果是application/json,返回json;如果是application/xml,返回xml;否则返回html。
应当使用accept加1,某些旧的浏览器未实现x-request-with, 补充一下,应该检测accept头是否.match(//json$/) 因为标准的json mimetype为text/json
简单一点.自己增加一个字段ajax啥的就好了吧…关键看前后端业务的约定啊…
简单粗暴,在Ajax的参数中增加一个参数
的确很粗暴!
和楼下说的一样,都是以简单粗暴解决哈!
鉴定是否ajax根本没有一个类似ecma5之类的标准给你参考,当然只能指定一个约定作为规则.怎么能说简单粗暴呢.
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的nodejs + express怎么实现Ajax方式及其简单功能。 - CNode技术社区
stay hungry,stay foolish
刚刚学nodejs,想用ajax实现登录的功能,实在没什么概念。
$(function(){
$(&#submit&).click(function(){
var params ={
username: $(&#username&).val(),
password: $(&#password&).val()
data: params,
url: 'http://127.0.0.1:3000/',
dataType: 'json',
cache: false,
timeout: 5000,
success: function(data){
var data = $.parseJSON(data);
alert(data.message);
error: function(jqXHR, textStatus, errorThrown){
alert('error ' + textStatus + & & + errorThrown);
后端要怎么写呢?我只想做后端获得数据就行了。
module.exports = function(app){
app.get('/',function(req,res){
console.log(req.body['username']);
res.render('index',{
title: 'ajax'
获得的却是undefine,且路径都发生了变化。
刚刚学习nodejs,求指教
我昨天问的同样的问题,后端是,res.json({“data”:“1”});括号内是你想要传的json数据。我前端用的$。post()
我按照你的方法加上去了,但是还是不行。我需要一个demo。。。谢谢
url: '/login',
type:'post',
app.post('/login',function(req,res){
if(req.body.username=='...'&&req.body.password=='...'){
res.json({success:1});
问个问题,为什么不加res.end()
有兴趣的话看看angularjs
提供一个我React里面的一个例子:
componentDidMount: function() {
//ajax请求
if(window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
}else if(window.ActiveXObject) {
xmlhttp = new ActiveXObject(‘Microsoft.XMLHTTP’);
alert(‘必须提高浏览器版本才能浏览!’);
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4) {
if(xmlhttp.status == 304 || (xmlhttp.status &= 200 && xmlhttp.status & 300)) {
var renderMessage = JSON.parse(xmlhttp.responseText);
if(this.isMounted()){
this.setState({
data: renderMessage,
}.bind(this);
xmlhttp.open(‘post’,’/photo.list.server’,true);
xmlhttp.setRequestHeader(“Content-Type”,“application/x-www-form-charset=utf-8”);
xmlhttp.send(null);
以上是前端的代码。
后台其实逻辑如下:
var mongoose = require(‘mongoose’);
var PhotoList = mongoose.model(‘PhotoList’);
module.exports = function(req, res, next) {
PhotoList.find({}, function(err, docs) {
res.end(‘Error’);
return next();
res.send(JSON.stringify(docs));
来个完整的,国内目前应该不会有比这个更完整的入门demo了
楼主用的什么浏览器?
body-parser安了么
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的很简单的一个实现,不知道为什么就是不成功。ajax请求总是走error,浏览器弹出error.如果在&div&&%= tips %&&/div&直接这样写又能取到数据。真不知道为什么了。哎,学nodejs深受打击,求大神指点!!!
纸上得来终觉浅,绝知此事要躬行。
很明显你后端渲染的是html模板,也就是后端返回的是html,而你前端的jquery在进行ajax调用的时候dataType使用的是json,你试试res.json。
已被提问者采纳
你还没有登录,请先登录或注册慕课网帐号
没技术也要打拼
你这个明显不对啊,你用ajax去 获取渲染的模板内容,但是返回值却是JSON,应该是xml或者text才对
你还没有登录,请先登录或注册慕课网帐号
这位童鞋很懒,什么也没有留下~~!
先NPM下载CORS这个库 这个是解决跨域访问的 var cors = require('cors'); var app = express(); app.use(cors());
如果这样解决不了 我就不知道了
你还没有登录,请先登录或注册慕课网帐号
8494人关注
Copyright (C)
All Rights Reserved | 京ICP备 号-2nodejs框架express4.2 简单入门
今天看了一些nodejs,《nodejs开发指南》。看到了expres的时候,因为那本书用的express版本跟我的不一样,导致很多功能不能实现。所以就各种google,现在就把这个流程记录下来,遇见的bug和一些原理。
要玩express就要装nodejs,如果你的操作是centos6.5可以参考我之前写的博客centos6.5安装nodejs。其他操作系统也大同小异,可以看Node
Installation
Express Command not found最初操作:跟着《nodejs开发指南》敲npm install -g express,安装好了,就在linux命令行敲express
--help就出现上面的原因了。解决方法:在安装一个包npm install -g express-generator原因:express3+已经把创建一个APP的功能分离出来为express-generator,没它你创建不了应用程序
2 express -t ejs microblog创建的不是ejs模板引擎而是jade模板引擎最初操作:跟着《nodejs开发指南》在命令行敲express -t ejs microblog是用来创建应用程序的,应用程序的名字叫microblog、模板引擎是ejs出现情况:但是通过查看microblog文件夹中的package.json中知道创建出来的不是ejs模板而是jade模板引擎解决方法:版本不一样,用错命令了,应该是express -e microblog(-e就是ejs模板)
3 node app.js没效果最初操作:跟着《nodejs开发指南》在命令行敲node app.js,然后就用访问监听的3000端口出现情况:访问不到页面解决方法:版本不一样,用错命令了,应该是npm start
其实简单入门式用express ejs模板步骤如下
npm install -g express && npm install -g express-generatorexpress -e microblog cd microblog & make install npm start浏览器访问localhost:3000
成功的页面如下:
想要更加具体了解,可以查看express帮助文档
Express Guide
其实在之后我还遇见一个bug,这个不是版本的问题,就是我在linux重新开一个终端来输入命令的时候,当前目录是/home/monkindey/Desktop其实就是在桌面,当我输入npm
start时候就报错了“Error:ENOENT,open"/home/monkindey/Desktop/package.json'”,当时我就觉得是不是要切换到express应用程序的目录去,果然,当切换到应用程序的目录中,再执行命令npm start就成功了。然后我就有了困惑了。
第一、为什么我npm start要切换到应用程序的目录里才能执行第二、为什么我npm start的时候究竟是跑应用程序哪个文件?
下面让我来简单说一下
npm 是nodejs的包管理工具,可以使用它来下载包、查看文件等功能用express创建的应用程序是一个符合CommonJS规范的一个nodejs包npm执行的时候会读取当前目录的package.json文件,这个也就是我上面那个bug出现的原因执行npm start其实是执行package.json中的script对应的对象中的start属性所对应的命令行,下面是我应用程序的package.json:
所以其实如果吧package.json中的start改成monkindey或者其他字符串,然后你在linux命令行敲上npm monkindey/或者其他,程序照样会运行
其实package.json就是一个配置文件,只是我们之前用的xml格式,但是在nodejs用的是json可以,简单容易理解。从package.json我们可以看出来npm start其实执行的是./bin/www里面是创建一个服务器然后监听3000端口,所以我们可以在浏览器中通过输入"localhost:3000"来访问应用程序
Express command not found
node.js express npm start
Express Getting started
《nodejs开发指南》}

我要回帖

更多关于 ios11拖拽功能怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信