【cocos2d-js教程】cocos2d-js http网络请求

来源:互联网 发布:什么软件可以抠图换景 编辑:程序博客网 时间:2024/05/05 06:12

本文由qinning199原创,转载请注明:http://www.cocos2dx.net/post/216

研究了一下cocos2d-js的http网络请求,很简单

1、get请求,代码如下

[javascript] view plain copy
print?
  1. var xhr = cc.loader.getXMLHttpRequest();  
  2.         var statusGetLabel = new cc.LabelTTF(“Status:”“Thonburi”, 18);  
  3.         this.addChild(statusGetLabel, 1);  
  4.         statusGetLabel.x = winSize.width / 2;  
  5.         statusGetLabel.y = winSize.height - 100;  
  6.         statusGetLabel.setString(”Status: Send Get Request to httpbin.org”);  
  7.         //set arguments with <URL>?xxx=xxx&yyy=yyy  
  8.         xhr.open(”GET”“http://httpbin.org/get?show_env=1”true);  
  9.   
  10.         xhr.onreadystatechange = function () {  
  11.             if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) {  
  12.                 var httpStatus = xhr.statusText;  
  13.                 var response = xhr.responseText.substring(0, 100) + “…”;  
  14.                 var responseLabel = new cc.LabelTTF(“GET Response (100 chars): \n” + response, “Thonburi”, 16);  
  15.                 that.addChild(responseLabel, 1);  
  16.                 responseLabel.anchorX = 0;  
  17.                 responseLabel.anchorY = 1;  
  18.                 responseLabel.textAlign = cc.TEXT_ALIGNMENT_LEFT;  
  19.   
  20.                 responseLabel.x = 10;  
  21.                 responseLabel.y = winSize.height / 2;  
  22.                 statusGetLabel.setString(”Status: Got GET response! ” + httpStatus);  
  23.             }  
  24.         };  
  25.         xhr.send();  
var xhr = cc.loader.getXMLHttpRequest();        var statusGetLabel = new cc.LabelTTF("Status:", "Thonburi", 18);        this.addChild(statusGetLabel, 1);        statusGetLabel.x = winSize.width / 2;        statusGetLabel.y = winSize.height - 100;        statusGetLabel.setString("Status: Send Get Request to httpbin.org");        //set arguments with <URL>?xxx=xxx&yyy=yyy        xhr.open("GET", "http://httpbin.org/get?show_env=1", true);        xhr.onreadystatechange = function () {            if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) {                var httpStatus = xhr.statusText;                var response = xhr.responseText.substring(0, 100) + "...";                var responseLabel = new cc.LabelTTF("GET Response (100 chars): \n" + response, "Thonburi", 16);                that.addChild(responseLabel, 1);                responseLabel.anchorX = 0;                responseLabel.anchorY = 1;                responseLabel.textAlign = cc.TEXT_ALIGNMENT_LEFT;                responseLabel.x = 10;                responseLabel.y = winSize.height / 2;                statusGetLabel.setString("Status: Got GET response! " + httpStatus);            }        };        xhr.send();

2、post请求,代码如下

[javascript] view plain copy
print?
  1. var xhr = cc.loader.getXMLHttpRequest();  
  2.         var statusPostLabel = new cc.LabelTTF(“Status:”“Thonburi”, 18);  
  3.         this.addChild(statusPostLabel, 1);  
  4.   
  5.         statusPostLabel.x = winSize.width / 2;  
  6.   
  7.         statusPostLabel.y = winSize.height - 140;  
  8.         statusPostLabel.setString(”Status: Send Post Request to httpbin.org with plain text”);  
  9.   
  10.         xhr.open(”POST”“http://httpbin.org/post”);  
  11.         //set Content-type “text/plain;charset=UTF-8” to post plain text  
  12.         xhr.setRequestHeader(”Content-Type”,“text/plain;charset=UTF-8”);  
  13.         xhr.onreadystatechange = function () {  
  14.             if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) {  
  15.                 var httpStatus = xhr.statusText;  
  16.                 var response = xhr.responseText.substring(0, 100) + “…”;  
  17.                 var responseLabel = new cc.LabelTTF(“POST Response (100 chars):  \n” + response, “Thonburi”, 16);  
  18.                 that.addChild(responseLabel, 1);  
  19.                 responseLabel.anchorX = 0;  
  20.                 responseLabel.anchorY = 1;  
  21.                 responseLabel.textAlign = cc.TEXT_ALIGNMENT_LEFT;  
  22.   
  23.                 responseLabel.x = winSize.width / 10 * 3;  
  24.                 responseLabel.y = winSize.height / 2;  
  25.                 statusPostLabel.setString(”Status: Got POST response! ” + httpStatus);  
  26.             }  
  27.         };  
  28.         xhr.send(”plain text message”);  
var xhr = cc.loader.getXMLHttpRequest();        var statusPostLabel = new cc.LabelTTF("Status:", "Thonburi", 18);        this.addChild(statusPostLabel, 1);        statusPostLabel.x = winSize.width / 2;        statusPostLabel.y = winSize.height - 140;        statusPostLabel.setString("Status: Send Post Request to httpbin.org with plain text");        xhr.open("POST", "http://httpbin.org/post");        //set Content-type "text/plain;charset=UTF-8" to post plain text        xhr.setRequestHeader("Content-Type","text/plain;charset=UTF-8");        xhr.onreadystatechange = function () {            if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status <= 207)) {                var httpStatus = xhr.statusText;                var response = xhr.responseText.substring(0, 100) + "...";                var responseLabel = new cc.LabelTTF("POST Response (100 chars):  \n" + response, "Thonburi", 16);                that.addChild(responseLabel, 1);                responseLabel.anchorX = 0;                responseLabel.anchorY = 1;                responseLabel.textAlign = cc.TEXT_ALIGNMENT_LEFT;                responseLabel.x = winSize.width / 10 * 3;                responseLabel.y = winSize.height / 2;                statusPostLabel.setString("Status: Got POST response! " + httpStatus);            }        };        xhr.send("plain text message");


原创粉丝点击