nodejs接收ajax提交的数据,req.on("data",......)不执行

客户端代码:$.ajax({
url:"http://127.0.0.1:1337/getOrder",
dataType:"jsonp",
data:{"state":"1"},
type:"get",
success:function (chunk) {
alert("成功"+chunk.result);
},
error:function (err) {
alert("失败"+err.message);
}
});

nodejs代码:var exp_serv=express();
exp_serv.get("/getOrder",function (req,res) {
console.log("客户端连接已建立:"+req.host);

req.on("data",function (data) {
    console.log(data.toString());

    res.send(data);
})

/**设置响应头允许ajax跨域访问**/
res.setHeader("Access-Control-Allow-Origin","*");
/*星号表示所有的异域请求都可以接受,*/
res.setHeader("Access-Control-Allow-Methods","GET","POST");

})
exp_serv.listen(1337,"127.0.0.1");

1个回答

let exp_serv = require('express')
,bodyParser = require('body-parser'); //npm body-parser 这是一个解析数据的中间件
let app = exp_serv();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

app.get("/getOrder",function (req,res) {
console.log("客户端连接已建立:"+req.host);
console.log(req.body);
res.send(req.body);
}

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何用 "babel-preset-react-hmre": "^1.1.1",实现代码热加载
我在配置读react全栈这本书时,按照书上面的进行配置,但是出现不了描述的效果 我的package.json代码为: { "name": "react_webpack", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "build": "webpack", "dev": "webpack-dev-server --hot", "start": "webpack-dev-server --hot --inline" }, "author": "jkwu", "license": "ISC", "devDependencies": { "babel-core": "^6.23.1", "babel-loader": "^6.3.0", "babel-plugin-react-transform": "^2.0.2", "babel-preset-es2015": "^6.22.0", "babel-preset-react": "^6.23.0", "babel-preset-react-hmre": "^1.1.1", "css-loader": "^0.26.1", "eslint": "^3.15.0", "eslint-config-airbnb": "^14.1.0", "eslint-loader": "^1.6.1", "eslint-plugin-import": "^2.2.0", "eslint-plugin-jsx-a11y": "^4.0.0", "eslint-plugin-react": "^6.9.0", "file-loader": "^0.10.0", "html-webpack-plugin": "^2.28.0", "react-transform-catch-errors": "^1.0.2", "react-transform-hmr": "^1.0.4", "redbox-react": "^1.3.3", "style-loader": "^0.13.1", "url-loader": "^0.5.7", "webpack": "^2.1.0-beta.21", "webpack-dev-server": "^2.1.0-beta.1" }, "dependencies": { "babel-polyfill": "^6.6.1", "react": "^15.4.2", "react-dom": "^15.4.2" } } webpack.config代码为: var path=require('path'); var webpack=require('webpack'); var HtmlWebpackPlugin=require('html-webpack-plugin'); //一些常用路径 var ROOT_PATH=path.resolve(__dirname); var APP_PATH=path.resolve(ROOT_PATH,'app'); var BUILD_PATH=path.resolve(ROOT_PATH,'build'); // console.log("ROOT_PATH====="+ROOT_PATH); // console.log("APP_PATH====="+APP_PATH); // console.log("BUILD_PATH====="+BUILD_PATH); module.exports={ entry:{ //注意这里教材中使用的是index.jsx app:path.resolve(APP_PATH,'app.jsx') }, output:{ path:BUILD_PATH, filename:'bundle.js' }, //开启 dev source map devtool:'eval-source-map', //开启 webpack dev server devServer:{ historyApiFallback: true, hot: true, inline: true, progress: true, port:9999 //端口你可以自定义 //contentBase是访问路径,设置这个的话没图片会访问不到,如果html文件和css img等文件打包后都在这个路径下是没有问题,否则会找不到文件的 }, module: { // 配置preLoaders,将eslint添加进入 preLoaders: [ { test:/\.jsx?$/, loaders:['eslint'], include:APP_PATH } ], // rules: [ // { // test:/\.jsx?$/, // include:APP_PATH, // enforce: 'pre', // use: [{loader: 'eslint-loader', options: {rules: {semi: 0}}}], // }, // // other rules // ], // 配置loaders,将babel添加进去 loaders:[ { test:/\.jsx?$/, loaders:['babel-loader'], include:APP_PATH }, { test:/.(png)|(jpg)$/, loaders:['url'], include:APP_PATH }, { test:/.css$/, loaders:['style','css'], include:APP_PATH } ] }, //配置plugin plugins:[ new HtmlWebpackPlugin({ title:'My first react app' }) ], resolve:{ extensions:['','.js','.jsx'] } } .babelrc文件为: { "presets": ["es2015","react"], "env": { "development":{ "presets":["react-hmre"] } } } nodejs版本为 jkwu@jkwu:~/Projects/React_Webpack$ nodejs -v v4.2.6 jkwu@jkwu:~/Projects/React_Webpack$ node -v v6.9.4 jkwu@jkwu:~/Projects/React_Webpack$
哪位学长能根据以下解惑一下,ajax以POST方式请求,页面怎么接收nodejs服务器返回的数据?
服务端代码是: ``` var http=require('http'); var querystring=require('querystring'); var util=require('util'); http.createServer(function(req, res) { var postData = ""; req.on("data", function (data) { postData += data; }); req.on("end", function () { post = querystring.parse(postData); res.write(post); res.end(); }); }).listen(3000, function() { console.log("Starting to listen on port 3000"); }) ``` ajax的代码是: ``` $.ajax({ type: "POST", url: "http://localhost:3000", dataType:"jsonp", data: { user: $username, pwd: $password }, success: function(data) { var data=JSON.parse(data); console.log(data); }, error: function() { alert("出错啦!"); } }) ``` ajax发送的是两个表单数据,打开localhost:3000/index.html是空白的,输入框都没有,控制台也没有,也不报错。。。
nodejs post响应如何触发ajax的success事件
前端是这样的 //发送ajax请求 使用post方式发送json字符串给后台reg $.ajax({ type: "post", url: "/reg*", dataType: "json", data:{ username: username, password: password }, success: function(data){ //接受返回的数据,前端判断采取的动作 if(data){ console.log(data); if(data.message=="exist"){ $('#username-warning').html('用户名已存在').css('visibility','visible'); }else{ alert('登陆成功'); window.location.href="index"; } } else{ } }, error:function(err){ console.log(err); console.log("报错"); } }); }); 后台是这样写的 app.post('/reg*',function(req,res,next){ console.log("post响应"); console.log(req.body); var newUser=new User({ name:req.body.username, password:req.body.password, }); console.log(newUser); //检查用户名是否存在 newUser.get(newUser,function(err,user){ console.log(user); if(user.length>0){ err="username already exists."; console.log("我是来触发时间呢的") res.json({message:"exist"}); res.end('success'); return; } if(err){ //req.flash('error',err); console.log(err); return res.redirect('/reg'); } newUser.save(function(err){ if(err){ //req.flash('error',err); return res.redirect('/reg'); } //req.seesion.user=new User?? //req.flash("success","注册成功"); res.redirect('/'); }); }); }) 我想用户名重复的时候在前段能触发suceess事件然后给页面做点提示信息,但是怎么样前端的success事件就是不触发,好气啊!!!不知道有没哪位前辈能指导下
Nodejs 使用http.get获取网页是为什么网页数据切割成很多部分
http.get(url, function(res) { var data = ""; res.on('data', function (chunk) { data += chunk;//nodejs为什么采用这种方式返回网页中的文本 }); res.on("end", function() { callback(data); console.log("end"); }); }).on("error", function() { callback(null); });
关于npm在运行时 总是会多一行无关的话的问题
C:\Users\daiql>npm -v 'CALL "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules \npm\bin\npm-cli.js" prefix -g' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 3.10.10 如上所示,只要调用npm这个命令就会多"'CALL "C:\Program Files\nodejs\\node.exe" "C:\Program Files\nodejs\\node_modules \npm\bin\npm-cli.js" prefix -g' 不是内部或外部命令,也不是可运行的程序 或批处理文件。"这个毫无意义的东西 虽然npm正常运行,但总是觉的好烦,应该怎么办啊?
Mongodb嵌套数组更新失败
文档格式这样: ``` "_id" : ObjectId("5cffbbf4d868b7af240d679e"), "dateid":"1560263668115", "comment" : [ { "user" : "yyyyyy", "content" : "213123", "constructdate" : "2019-06-22 07:02:08.688" }, { "user" : "kkkk", "content" : "213gggg123", "constructdate" : "2019-06-22 07:02:08.687" } ] ``` 我在终端上操作以下代码可以工作,能删除满足条件的comment更新文档 ``` db.getCollection('article').update({'dateid':'1560263668115'},{$pull:{"comment":{"constructdate" : "2019-06-22 07:02:08.687"}}}) ``` 我在Nodejs上代码如下 删除操作返回`result: { n: 0, nModified: 0, ok: 1 }`数据没删掉 将收到的req.body.datetime复制进终端也能操作成功。 ``` app.post('/articledetail/api/delmessage',(req,res)=>{ console.log(req.body); let ariticledate=req.body.dateid; let commentdate=req.body.datetime; let searchobj={'dateid':ariticledate}; let searchcallback=function(data){ return res.send('success'); } let noresultcallback=function () { return res.send("err"); } MongoClient.connect(dburl,function(err,db){ if(err){return} db.collection('aricle').update(searchobj,{$pull:{'comment':{'constructdate' : commentdate}}},function(err,data){ if(err){db.close();noresultcallback(err)} if(data){ console.log(data); db.close(); searchcallback(data); }else{ db.close(); noresultcallback(data); } }) }) }) ```
node.js解析input中文报错
通过nodejs将html页面中的表单内容插入mysql数据库。当input文本框内输入的为英文或数字时完全正确,一旦输入中文,点击提交按钮,服务端显示错误"Incorrect String Value……' 现在检查,数据库所有的字符设置都已经为utf8。nodejs代码中也有req.setEncoding('utf8')。表单form标签中也有accept-charset="UTF-8"。node.js代码、html代码、浏览器编码全部为utf8。请问是哪里的错误导致nodejs不能解析input里的中文? 以下是我node.js的代码: ``` var http=require('http'); var mysql=require('mysql'); var qs=require('querystring'); var db=mysql.createConnection({ host:'127.0.0.1', user:'root', password:'12345', database:'datanews' }); var server=http.createServer(function(req,res){ switch (req.method) { case 'POST': switch (req.url) { case '/': addUser(db,req,res); break; } break; } }); server.listen(3000,'127.0.0.1'); function addUser(db,req,res) { var newData=''; req.setEncoding('utf8'); req.on( 'data', function(chunck){ newData+=chunck; } ); req.on( 'end', function () { var data=qs.parse(newData); db.query( "INSERT INTO userInfo(nickname,identify,password,gender,birthDay) "+ " VALUES(?,?,?,?,?)", [data.nickname,data.identify,data.password,data.gender,data.birthDay], function (err) { if (err) { throw err; } else{ console.log("seccussful"); var html='<p>注册成功</p>' toBrowser(res,html); } } ) } ) } function toBrowser(res,htmldata) { res.setHeader('Content-Type','text/html;charset=utf8'); res.setHeader('Content-Length',Buffer.byteLength(htmldata)); res.end(htmldata); } ```
eggjs获取原生的request,就和用express中的request一样
遇到一个问题,用的富文本编辑器的SDK是封装好的https://www.froala.com/wysiwyg-editor/docs/sdks/nodejs/image-server-upload 我以前用的express写的后台是可以正常运行的,现在用了eggjs,获取的request和express中的不同,所以遇到了难题,百度一下别人是没有用它提供的SDK,直接自己写的存储方法,我想的是获取到和express中一样的request就可以了,没有研究过egg的源码,求大神帮忙。 ![图片说明](https://img-ask.csdn.net/upload/201905/16/1557974344_893658.png) express的代码 ``` router.post('/upload_images/', function (req, res) { console.log(req) FroalaEditor.Image.upload(req, '../public/images/', function(err, data) { // Return data. if (err) { //console.log(err) return res.send(JSON.stringify(err)); } //data.link='http://192.168.100.135:3003'+data.link.replace("..",""); data.link='http://localhost:3003'+data.link.replace("..",""); //console.log(data) res.send(data); }); }); ``` egg的代码 ``` async uploadImage() { const { ctx } = this; console.log(ctx.request); const data2 = FroalaEditor.Image.upload(ctx.request, '../public/images/', function(err, data) { // Return data. if (err) { console.log(err) } console.log('data',data) return data; }); ctx.body = data2; } ```
用npm安装package.json时出现错误
我是在win8 64bit上面操作,本来安装的nodejs是64位的, npm install时一直出现错误,上网查后有说要安装32位的,而且需要安装vs, 于是我卸载64的node又安装32的node,又安装vs2012, 然后又npm install 出现如下异常: ``` npm WARN optional dep failed, continuing fsevents@0.3.8 \ > spawn-sync@1.0.13 postinstall E:\project2\shijuan\node_modules\node-sass\node_modules\sas modules\spawn-sync > node postinstall \ > node-sass@3.2.0 install E:\project2\shijuan\node_modules\node-sass > node scripts/install.js Binary downloaded and installed at E:\project2\shijuan\node_modules\node-sass\vendor\win32- > node-sass@3.2.0 postinstall E:\project2\shijuan\node_modules\node-sass > node scripts/build.js ` E:\project2\shijuan\node_modules\node-sass\vendor\win32-ia32-14\binding.node ` exists. testing binary. Binary is fine; exiting. \ > bufferutil@1.1.0 install E:\project2\shijuan\node_modules\webpack-dev-server\node_modules > node-gyp rebuild | (venv) Think@RESEARCH E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\sock > if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\ e rebuild ) 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 bufferutil.cc 正在创建库 E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\socket.io\ util .expb 和对象 E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\socket.io\n 正在生成代码 已完成代码的生成 bufferutil.vcxproj -> E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\so se\\bufferutil.node | > utf-8-validate@1.1.0 install E:\project2\shijuan\node_modules\webpack-dev-server\node_mod f-8-validate > node-gyp rebuild / (venv) Think@RESEARCH E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\sock ate > if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\ e rebuild ) 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 validation.cc 正在创建库 E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\socket.io- ild\ Release\validation.lib 和对象 E:\project2\shijuan\node_modules\webpack-dev-server\node_mo tf -8-validate\build\Release\validation.exp 正在生成代码 已完成代码的生成 validation.vcxproj -> E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\so lidate\build\Release\\validation.node > utf-8-validate@1.1.0 install E:\project2\shijuan\node_modules\webpack-dev-server\node_mod > node-gyp rebuild (venv) Think@RESEARCH E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\sock > if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\ e rebuild ) 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 validation.cc 正在创建库 E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\socket.io\ lida tion.lib 和对象 E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\socket.i va lidation.exp 正在生成代码 已完成代码的生成 validation.vcxproj -> E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\so elease\\validation.node > bufferutil@1.1.0 install E:\project2\shijuan\node_modules\webpack-dev-server\node_modules util > node-gyp rebuild (venv) Think@RESEARCH E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\sock > if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\ e rebuild ) 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 bufferutil.cc 正在创建库 E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\socket.io- Rele ase\bufferutil.lib 和对象 E:\project2\shijuan\node_modules\webpack-dev-server\node_module ru til\build\Release\bufferutil.exp 正在生成代码 已完成代码的生成 bufferutil.vcxproj -> E:\project2\shijuan\node_modules\webpack-dev-server\node_modules\so il\build\Release\\bufferutil.node vinyl-named@1.1.0 node_modules\vinyl-named └── through@2.3.8 manifest-revision-webpack-plugin@0.0.5 node_modules\manifest-revision-webpack-plugin └── walk@2.3.9 (foreachasync@3.0.0) coffee-script@1.9.3 node_modules\coffee-script superagent@1.3.0 node_modules\superagent ├── extend@1.2.1 ├── methods@1.0.1 ├── cookiejar@2.0.1 ├── component-emitter@1.1.2 ├── reduce-component@1.0.1 ├── mime@1.3.4 ├── qs@2.3.3 ├── debug@2.2.0 (ms@0.7.1) ├── readable-stream@1.0.27-1 (inherits@2.0.1, isarray@0.0.1, string_decoder@0.10.31, core-u ├── formidable@1.0.14 └── form-data@0.2.0 (async@0.9.2, combined-stream@0.0.7, mime-types@2.0.14) ``` 其实看上去也成功了很多,但是前面那几个异常怎么解决呢?谢谢各位 package.json如下 ``` { "repository": { "type": "git", "url": "" }, "license": "MIT", "description": "Project Shijuan", "scripts": { "start": "node_modules/.bin/webpack-dev-server --config conf/webpack.config.js --progress --colors --port 5001 --content-base build/public", "build": "node_modules/.bin/webpack --config conf/webpack.config.js --progress --profile --colors" }, "dependencies": { "amazeui": "^2.4.2", "babel-core": "^5.4.7", "babel-loader": "^5.1.3", "coffee-loader": "^0.7.2", "coffee-script": "^1.9.3", "css-loader": "^0.15.6", "echarts": "^2.2.7-beta7", "extract-text-webpack-plugin": "^0.8.1", "file-loader": "^0.8.4", "html-loader": "^0.3.0", "jquery": "^2.1.4", "manifest-revision-webpack-plugin": "^0.0.5", "node-sass": "^3.2.0", "postcss-loader": "^0.5.1", "sass-loader": "^2.0.0", "style-loader": "^0.12.3", "superagent": "^1.3.0", "url-loader": "^0.5.6", "vinyl-named": "^1.1.0", "vue": "^0.12.10", "vue-loader": "^2.1.1", "vue-validator": "^1.4.0", "webpack": "^1.10.0", "webpack-dev-server": "^1.9.0", "zrender": "ecomfe/zrender" } } ```
npm install socket.io 问题,安装不成功,报了ERR,不哪出问题了。
npm ERR! Windows_NT 10.0.14393 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install" "socket.io" npm ERR! node v6.11.3 npm ERR! npm v3.10.10 npm ERR! code ENOSELF npm ERR! Refusing to install socket.io as a dependency of itself npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! <https://github.com/npm/npm/issues> npm ERR! Please include the following file with any support request: npm ERR! E:\websocket\socket\npm-debug.log ``` ```
webstrom 调试 nodejs
"C:\Program Files (x86)\JetBrains\WebStorm 10.0.3\bin\runnerw.exe" "D:\Program Files\nodejs\node.exe" --debug-brk=15688 --nolazy server.js (node:9264) [DEP0062] DeprecationWarning: `node --debug` and `node --debug-brk` are invalid. Please use `node --inspect` or `node --inspect-brk` instead. Process finished with exit code 9 正常运行可以,但是debug运行就不行了。他写着让使用inspect但是从哪里改成这个呢???
Ajax+nodejs新手求问!
我有一个页面A,其中通过iframe加载了一个页面B。页面B里有个表单,表单里有个submit按钮。我在这个B页面的js中为这个submit按钮添加了一个事件函数。在这个事件函数中我创建了一个XMLHttpRequest实例xhr1。然后后台我用nodejs接收提交的表单数据并发送响应内容。我想让响应内容出现在父页面A的特定位置上。 现在数据接收、发送响应内容都没有问题,问题是响应的内容不能出现在A页面特定位置上。 我xhr1的onreadystatechange事件函数为 ``` xhr1.onreadystatechange=function(){ if (xhr1.readyState==4) { if ((xhr1.status>=200&&htr1.status<300)||xhr1.status==304) { window.parent.document.getElementById("regi").innerHTML=xhr1.responseText; } else{ window.parent.document.getElementById("regi").innerHTML="Unsuccessfull: "; } } } ``` regi是父页面A中的一个元素的id。 可是,这样写的结果是父页面A的regi元素内容并没有变为xhr1.responseText的内容,xhr1.responseText居然写在了页面B里。请问是哪里出问题了?怎样才能实现我想要的效果? 非常感谢!!
nodejs http post 获取返回值
var postReq = http.request(option, function (postRes) { var chunks = []; postRes.on("data", function (chunk) { chunks.push(chunk); }); postRes.on("end", function () { var body = Buffer.concat(chunks); //得到body }); });//我想在这里获取body postReq.write(JSON.stringify(content)); postReq.end();
新手第一次整nodejs 遇到问题 npm install报错,帮忙看下吧
npm ERR! Windows_NT 6.1.7601 npm ERR! argv "d:\\Program Files\\nodejs\\node.exe" "d:\\Program Files\\nodejs\\ node_modules\\npm\\bin\\npm-cli.js" "install" npm ERR! node v0.12.4 npm ERR! npm v2.11.1 npm ERR! code EPEERINVALID npm ERR! peerinvalid The package grunt does not satisfy its siblings' peerDepend encies requirements! npm ERR! peerinvalid Peer grunt-contrib-watch@0.6.1 wants grunt@~0.4.0 npm ERR! peerinvalid Peer grunt-contrib-nodeunit@0.3.3 wants grunt@~0.4.0 npm ERR! peerinvalid Peer grunt-contrib-jshint@0.10.0 wants grunt@~0.4.0 npm ERR! Please include the following file with any support request: npm ERR! d:\home\jngongzuo\slackend-wei-jail\ui\npm-debug.log
在本地的http.request规定了post方法,但在chrome控制台显示的是get方法
//server端 var http = require("http"); http.createServer(function(request, response) { if(request.method == 'POST'){ console.log('really'); var postdata=''; request.on('data',function(postchunk){ postdata+=postchunk; console.log('datais ==',postdata); }); } response.writeHead(200, {"Content-Type": "text/plain"}); response.write("welcome to the nodejs world "); response.end(); }).listen(8888); console.log("nodejs start listen 8888 port!"); //client端 var http = require("http"); var querystring =require('querystring'); var postData = querystring.stringify({ content:'加油加油加油', belongId:2862414 }); var options = { hostname: 'localhost', port: 8888, //path: '/test?params1="123"&params2=456', method: 'POST' }; var req = http.request(options, function(res) { console.log('STATUS: ' + res.statusCode); console.log('HEADERS: ' + JSON.stringify(res.headers)); res.setEncoding('utf8'); res.on('data', function (chunk) { console.log('BODY: ' + chunk); }); }); req.on('error', function(e) { console.log('problem with request: ' + e.message); }); // write data to request body req.write(postData); req.end(); ![图片说明](https://img-ask.csdn.net/upload/201705/18/1495117290_798711.jpg)
nodejs express中handlebars 报错
nodejs express中自定义handlebars helps,页面中写有类似{{fuctt num}}时就是打不开网页 ``` {{#section "head"}} <script type="text/javascript" src="js/jquery-1.11.3.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.min.js"></script> <script type="text/javascript" src="js/myjs.js"></script> <script id="some-template" type="text/x-handlebars-template"> <table> <thead> <th>Username</th> <th>Real Name</th> <th>Email</th> </thead> <tbody> {{#if users}} <tr> <td>{{username}}</td> <td>{{firstName}} {{lastName}}</td> <td>{{email}}</td> </tr> {{else}} <tr> <td colspan="3">NO users!</td> </tr> {{/if}} </tbody> </table> </script> <script id="helper-template" type="text/x-handlebars-template"> <div> ## <h1>By {{fullName author}}</h1>****/*此处报错打不开网页,备注后能打开*/**** <div>{{body}}</div> <h1>Comments</h1> {{#each comments}} <h2>By {{!-- {{fullName author}} --}}</h2> <h2>{{body}}</h2> {{/each}} </div> </script> {{/section}} <h2>Simple handlebars demo</h2> <button id="btn_simple">Click me</button> <div id="my_div"> </div> <h2>Handlebars Helpers demo</h2> <button id="btn_helper">Click me</button> <div id="helper_div"> </div> ``` # ## **其余引用文档都能加载 # ## 下面是js文件** ``` $(document).ready(function(){ Handlebars.registerHelper('fullName', function(person) { return person.firstName + "这就对了 " + person.lastName; }); $("#btn_simple").click(function(){ alert("first button") showTemplate(); }); $("#btn_helper").click(function(){ showHowUseHelper(); }); }); // var context = {title: "My New Post", body: "This is my first post!"}; var persion = {title :"My New Post",body:"This is my first post!"} function showTemplate(){ var source = $("#some-template").html(); var template = Handlebars.compile(source); var data = { users: [ {username: "alan", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" }, {username: "allison", firstName: "Allison", lastName: "House", email: "allison@test.com" }, {username: "ryan", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" } ]}; $("#my_div").html(template(data));; } function showHowUseHelper(){ var context = { author: {firstName: "Alan", lastName: "Johnson"}, body: "I Love Handlebars", comments: [{ author: {firstName: "Yehuda", lastName: "Katz"}, body: "Me too!" }] }; var source = $("#helper-template").html(); var template = Handlebars.compile(source); $("#helper_div").html(template(context));; } ```
nodejs里的var net = require('net')可以在HTML页面生效吗?
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>WebSockets客户端示例</title> </head> <script> var net = require('net'); console.log("1 ..."); var HOST = '127.0.0.1'; var PORT = 6969; var client = new net.Socket(); console.log("2 ..."); function s_connect(){ client.connect(PORT, HOST, function() { console.log("3 ..."); alert('CONNECTED TO: ' + HOST + ':' + PORT); } function s_send(){ client.write('I am Chuck Norris!'); } function s_close(){ // 完全关闭连接 client.destroy(); } </script> <body> <h1>WebSocket客户端示例2</h1> <div id="message"></div> <p>请输入一些文字</p> <input id="text" type="text"> <button id="connect" onClick="s_connect();">建立连接</button> <button id="send" onClick="s_send();">发送数据</button> <button id="disconnect" onClick="s_close();">断开连接</button> </body> </html> 我是想实现socket通信来着,但是var client = new net.Socket();加载不出。那些数字2打印不出来
npm install -g typescript
C:\Users\wei.peng>npm install -g typescript npm ERR! Windows_NT 6.1.7601 npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\ node_modules\\npm\\bin\\npm-cli.js" "install" "-g" "typescript" npm ERR! node v7.4.0 npm ERR! npm v4.0.5 npm ERR! Cannot read property 'path' of null npm ERR! npm ERR! If you need help, you may report this error at: npm ERR! <https://github.com/npm/npm/issues> npm ERR! Please include the following file with any support request: npm ERR! C:\Users\wei.peng\npm-debug.log
130 个相见恨晚的超实用网站,一次性分享出来
相见恨晚的超实用网站 持续更新中。。。
我花了一夜用数据结构给女朋友写个H5走迷宫游戏
起因 又到深夜了,我按照以往在csdn和公众号写着数据结构!这占用了我大量的时间!我的超越妹妹严重缺乏陪伴而 怨气满满! 而女朋友时常埋怨,认为数据结构这么抽象难懂的东西没啥作用,常会问道:天天写这玩意,有啥作用。而我答道:能干事情多了,比如写个迷宫小游戏啥的! 当我码完字准备睡觉时:写不好别睡觉! 分析 如果用数据结构与算法造出东西来呢? ...
字节跳动视频编解码面经
三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时想着能进去就不错了,管他哪个岗呢,就同意了面试...
win10系统安装教程(U盘PE+UEFI安装)
一、准备工作 u盘,电脑一台,win10原版镜像(msdn官网) 二、下载wepe工具箱 极力推荐微pe(微pe官方下载) 下载64位的win10 pe,使用工具箱制作启动U盘打开软件, 选择安装到U盘(按照操作无需更改) 三、重启进入pe系统 1、关机后,将U盘插入电脑 2、按下电源后,按住F12进入启动项选择(技嘉主板是F12) 选择需要启...
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
《奇巧淫技》系列-python!!每天早上八点自动发送天气预报邮件到QQ邮箱
此博客仅为我业余记录文章所用,发布到此,仅供网友阅读参考,如有侵权,请通知我,我会删掉。 补充 有不少读者留言说本文章没有用,因为天气预报直接打开手机就可以收到了,为何要多此一举发送到邮箱呢!!!那我在这里只能说:因为你没用,所以你没用!!! 这里主要介绍的是思路,不是天气预报!不是天气预报!!不是天气预报!!!天气预报只是用于举例。请各位不要再刚了!!! 下面是我会用到的两个场景: 每日下
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
Linux(服务器编程):15---两种高效的事件处理模式(reactor模式、proactor模式)
前言 同步I/O模型通常用于实现Reactor模式 异步I/O模型则用于实现Proactor模式 最后我们会使用同步I/O方式模拟出Proactor模式 一、Reactor模式 Reactor模式特点 它要求主线程(I/O处理单元)只负责监听文件描述符上是否有事件发生,有的话就立即将时间通知工作线程(逻辑单元)。除此之外,主线程不做任何其他实质性的工作 读写数据,接受新的连接,以及处...
HAL 硬件抽象层介绍
和你一起终身学习,这里是程序员Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:和你一起终身学习,这里是程序员 Android本篇文章主要介绍Android开发中的部分知识点,通过阅读本篇文章,您将收获以下内容:一、HAL 概述一、HAL 概述HAL定义了供硬件供应商实施的标准接口,该接口使Android无需考虑底层驱动程序的实现。使用HA...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
致 Python 初学者们!
作者 | 许向武 责编 | 屠敏 出品 | CSDN 博客 前言 在 Python 进阶的过程中,相信很多同学应该大致上学习了很多 Python 的基础知识,也正在努力成长。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 Python 这门编程语言,从2009年开始单一使用 Python 应对所有的开发工作,直至今
究竟你适不适合买Mac?
我清晰的记得,刚买的macbook pro回到家,开机后第一件事情,就是上了淘宝网,花了500元钱,找了一个上门维修电脑的师傅,上门给我装了一个windows系统。。。。。。 表砍我。。。 当时买mac的初衷,只是想要个固态硬盘的笔记本,用来运行一些复杂的扑克软件。而看了当时所有的SSD笔记本后,最终决定,还是买个好(xiong)看(da)的。 已经有好几个朋友问我mba怎么样了,所以今天尽量客观...
使用 Angular 打造微前端架构的 ToB 企业级应用
这篇文章其实已经准备了11个月了,因为虽然我们年初就开始使用 Angular 的微前端架构,但是产品一直没有正式发布,无法通过生产环境实践验证可行性,11月16日我们的产品正式灰度发布,所以是时候分享一下我们在使用 Angular 微前端这条路上的心得(踩过的坑)了额,希望和 Angular 社区一起成长一起进步,如果你对微前端有一定的了解并且已经在项目中尝试了可以忽略前面的章节。 什么是微前...
大学四年因为知道了这32个网站,我成了别人眼中的大神!
依稀记得,毕业那天,我们导员发给我毕业证的时候对我说“你可是咱们系的风云人物啊”,哎呀,别提当时多开心啦????,嗯,我们导员是所有导员中最帅的一个,真的???? 不过,导员说的是实话,很多人都叫我大神的,为啥,因为我知道这32个网站啊,你说强不强????,这次是绝对的干货,看好啦,走起来! PS:每个网站都是学计算机混互联网必须知道的,真的牛杯,我就不过多介绍了,大家自行探索,觉得没用的,尽管留言吐槽吧???? 社...
拿下微软、Google、Adobe,印度为何盛产科技圈 CEO?
作者 | 胡巍巍 出品 | CSDN(ID:CSDNnews) 世界500强中,30%的掌舵人,都是印度人。 是的,你没看错。这是近日《哈佛商业评论》的研究结果。 其中又以微软CEO萨提亚·纳德拉(Satya Nadella)、和谷歌CEO桑达尔·皮查伊(Sundar Pichai,以下简称劈柴)最为出名。 微软CEO萨提亚·纳德拉(Satya Nadella) 其他著名印度...
Linux(内核剖析):19---中断总体概述
一、为什么要引入中断? 任何操作系统内核的核心任务,都包含有对连接到计算机上的硬件设备进行有效管理,如硬盘、蓝光碟机、键盘、鼠标、3D 处理器,以及无线电等。而想要管理这些设备,首先要能和它们互通音信才行。众所周知,处理器的速度跟外围硬件设备的速度往往不在一个数量级上,因此,如果内核采取让处理器向硬件发出一个请求,然后专门等待回应的办法,显然差强人意。既然硬件的响应这么慢,那么内核就应该在此期间...
程序员写了一个新手都写不出的低级bug,被骂惨了。
这种新手都不会范的错,居然被一个工作好几年的小伙子写出来,差点被当场开除了。
Java工作4年来应聘要16K最后没要,细节如下。。。
前奏: 今天2B哥和大家分享一位前几天面试的一位应聘者,工作4年26岁,统招本科。 以下就是他的简历和面试情况。 基本情况: 专业技能: 1、&nbsp;熟悉Sping了解SpringMVC、SpringBoot、Mybatis等框架、了解SpringCloud微服务 2、&nbsp;熟悉常用项目管理工具:SVN、GIT、MAVEN、Jenkins 3、&nbsp;熟悉Nginx、tomca...
深度学习笔记------卷积神经网络
深度学习笔记------卷积神经网络
一文带你入门Linux
文章目录1.1 Linux的概述:1.1.1 什么是Linux:1.1.1.1 学习Linux之前先了解Unix1.1.1.2 Linux的概述:1.1.1.3 Linux的历史:1.1.1.4 Linux系统的应用:1.1.1.5 Linux的版本1.1.1.6 Linux的主流版本1.2 Linux的安装:1.2.1 虚拟机安装:1.2.1.1 什么是虚拟机1.2.1.2 安装VmWare1....
普通三本毕业,我怎么一路艰辛进入阿里的
英雄不问出处? 自古以来就有这样一句话,真的英雄不问出处吗?这句话太挫了。普通三本院校的我,大四的时候居然都不知道什么是校招,所以出处太重要了。这也是没有机会参加阿里校招的原因,毕竟校招门槛比社招还是要低的,最重要的是校招进入阿里能让你的起点比别人更高。 有幸可以社招进入阿里,了解了校招的思路,赶紧介绍给学弟们,现在我们三本院校的小学弟今年居然有 3 个人通过了阿里的校招。下面我也把这份宝贵的经...
作为一个程序员,CPU的这些硬核知识你必须会!
CPU对每个程序员来说,是个既熟悉又陌生的东西? 如果你只知道CPU是中央处理器的话,那可能对你并没有什么用,那么作为程序员的我们,必须要搞懂的就是CPU这家伙是如何运行的,尤其要搞懂它里面的寄存器是怎么一回事,因为这将让你从底层明白程序的运行机制。 随我一起,来好好认识下CPU这货吧 把CPU掰开来看 对于CPU来说,我们首先就要搞明白它是怎么回事,也就是它的内部构造,当然,CPU那么牛的一个东...
破14亿,Python分析我国存在哪些人口危机!
一、背景 二、爬取数据 三、数据分析 1、总人口 2、男女人口比例 3、人口城镇化 4、人口增长率 5、人口老化(抚养比) 6、各省人口 7、世界人口 四、遇到的问题 遇到的问题 1、数据分页,需要获取从1949-2018年数据,观察到有近20年参数:LAST20,由此推测获取近70年的参数可设置为:LAST70 2、2019年数据没有放上去,可以手动添加上去 3、将数据进行 行列转换 4、列名...
强烈推荐10本程序员在家读的书
很遗憾,这个春节注定是刻骨铭心的,新型冠状病毒让每个人的神经都是紧绷的。那些处在武汉的白衣天使们,尤其值得我们的尊敬。而我们这些窝在家里的程序员,能不外出就不外出,就是对社会做出的最大的贡献。 有些读者私下问我,窝了几天,有点颓丧,能否推荐几本书在家里看看。我花了一天的时间,挑选了 10 本我最喜欢的书,你可以挑选感兴趣的来读一读。读书不仅可以平复恐惧的压力,还可以对未来充满希望,毕竟苦难终将会...
Python实战:抓肺炎疫情实时数据,画2019-nCoV疫情地图
今天,群里白垩老师问如何用python画武汉肺炎疫情地图。白垩老师是研究海洋生态与地球生物的学者,国家重点实验室成员,于不惑之年学习python,实为我等学习楷模。先前我并没有关注武汉肺炎的具体数据,也没有画过类似的数据分布图。于是就拿了两个小时,专门研究了一下,遂成此文。
疫情数据接口api
返回json示例 { "errcode":0,//0标识接口正常 "data":{ "date":"2020-01-30 07:47:23",//实时更新时间 "diagnosed":7736,//确诊人数 "suspect":12167,//疑是病例人数 "death":170,//死亡人数 "cur...
智力题(程序员面试经典)
NO.1  有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸。给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次。 解法 有时候,严格的限制条件有可能反倒是解题的线索。在这个问题中,限制条件是天平只能用一次。 因为天平只能用一次,我们也得以知道一个有趣的事实:一次必须同时称很多药丸,其实更准确地说,是必须从19瓶拿出药丸进行称重。否则,如果跳过两瓶或更多瓶药...
疫情防控,开发者集结出战!
作者 | 屠敏出品 | CSDN(ID:CSDNnews)2020 年伊始,病毒肆虐,人心惶惶。截止北京时间 1 月 31 日 15 时 30 分,全国确诊新型冠状病毒肺炎的数字已达到了...
如果孔子是个程序员,一定是P14
点击“技术领导力”关注∆每天早上8:30推送 作者|Mr.K 编辑| Emma 近日,研读《史记》,读到孔子跟师襄子学弹琴这一段,颇受启发,整理出来与大家分享,故事讲述了孔子如何学习弹琴,达到登峰造极的地步。仔细想想,其修炼方法,放在学习编程上,乃至学习任何一门技能上,都是相通的。 01 孔子年轻的时候,对音乐产生了极大的兴趣,找到了当时弹琴弹得最牛的师襄子,要拜师学艺,孔子比...
相关热词 c# 为空 判断 委托 c#记事本颜色 c# 系统默认声音 js中调用c#方法参数 c#引入dll文件报错 c#根据名称实例化 c#从邮件服务器获取邮件 c# 保存文件夹 c#代码打包引用 c# 压缩效率
立即提问