cocos creator學習01 關於cocos creator 通過get 和post連接node.js服務器的初步探索
阿新 • • 發佈:2018-02-23
erl dao save ready ... img manual file ole
一、node.js的安裝註意事項
1.參考http://www.runoob.com/nodejs/nodejs-install-setup.html
2.node.js如果不配置package.json文件會出現警告 npm WARN saveError ENOENT : no such file or directory .....。輸入 npm init 進行配置該文件
3.如果npm文件丟失,在控制面板->程序 選擇修復。
4.出現express錯誤,需要在運行的工程的文件夾裏進行express 的安裝
二、關於cocos creator 通過get 方法進行通信的實例
cocos creator:
1 send3:function () { 2 var url="http://127.0.0.1:8081/?name=1&password=2"; 3 var xhr = new XMLHttpRequest(); 4 xhr.onreadystatechange = function () { 5 if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) { 6 varresponse = xhr.responseText; 7 console.log(response); 8 } 9 }; 10 xhr.open("GET", url, true); 11 //var str={"name":"1","password":"2"} 12 xhr.send(); 13 },
node.js:
var express = require(‘express‘); var app = express(); var url = require(‘url‘);var util = require(‘util‘); app.get(‘/‘, function (req, res) { var params = url.parse(req.url, true).query; //parse將字符串轉成對象,req.url="/?url=123&name=321",true表示params是{url:"123",name:"321"},false表示params是url=123&name=321 //res.write("網站名:" + params.name); //res.write("\n"); //res.write("網站 URL:" + params.url); //res.end(); res.send(‘params.name‘+params.name); }) var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port console.log("應用實例,訪問地址為 http://%s:%s", host, port) })
三、關於cocos creator 通過post方法進行通信的實例
cocos creator:
sendPostRequest:function () { var str="name=1&password=2" var ServerLink="http://127.0.0.1:8081/"; var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function () { if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 400)) { console.log("連接成功"); var response = xhr.responseText; console.log(response); } }; xhr.open("POST", ServerLink); xhr.send(str); }
node.js:
var http = require(‘http‘); var querystring = require(‘querystring‘); var url = require(‘url‘); var util = require(‘util‘); http.createServer(function (req, res) { //暫存請求體信息 var body = ""; //請求鏈接 console.log(req.url); //每當接收到請求體數據,累加到post中 req.on(‘data‘, function (chunk) { body += chunk; //一定要使用+=,如果body=chunk,因為請求favicon.ico,body會等於{} console.log("chunk:",chunk); }); //在end事件觸發後,通過querystring.parse將post解析為真正的POST請求格式,然後向客戶端返回。 req.on(‘end‘, function () { // 解析參數 body = querystring.parse(body); //將一個字符串反序列化為一個對象 console.log("body:",body); res.end("body.name="+body.name+" password="+body.password); }); }).listen(8081);
參考網站:
http://docs.cocos.com/creator/manual/zh/scripting/network.html
https://zhidao.baidu.com/question/1835966331253667740.html?qbl=relate_question_0&word=cocos%20creator%20%B7%A2%CB%CDpost
https://www.cnblogs.com/gamedaybyday/p/6637933.html
cocos creator學習01 關於cocos creator 通過get 和post連接node.js服務器的初步探索