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

xiaoxiao2021-02-28  114

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

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

1、get请求,代码如下

[javascript] view plain copy print ? 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();   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 ? 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”);   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");

转载请注明原文地址: https://www.6miu.com/read-63442.html

最新回复(0)