1. 程式人生 > >cocos creator學習01 關於cocos creator 通過get 和post連接node.js服務器的初步探索

cocos creator學習01 關於cocos creator 通過get 和post連接node.js服務器的初步探索

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                 var
response = 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服務器的初步探索