version: cocos2d-x 3.6json
require("src/cocos/cocos2d/json") require("src/cocos/network/NetworkConstants") -- post json local xhr = cc.XMLHttpRequest:new() xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_JSON xhr:setRequestHeader("Content-Type", "application/json") xhr:open("POST", "www.baidu.com") local function loginCallback() print("xhr.readyState is:", xhr.readyState, "xhr.status is: ", xhr.status) if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then local response = xhr.response local output = json.decode(response) -- print table.foreach(output, function(i, v) print (i, v) end) -- success ... else -- fail ... end end xhr:registerScriptHandler(loginCallback) xhr:send(sendJson)
-- get (image) pSprite:retain() -- a sprite local xhr = cc.XMLHttpRequest:new() -- tag xhr._urlFileName = urlFileName xhr._urlSprite = pSprite xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING xhr:open("GET", "http://cocos2d-x.org/s/images/img-cocos2dx.jpg") local function onDownloadImage() print("xhr.readyState is:", xhr.readyState, "xhr.status is: ", xhr.status) if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then local fileData = xhr.response local fullFileName = cc.FileUtils:getInstance():getWritablePath() .. "/" .. xhr._urlFileName local file = io.open(fullFileName,"wb") file:write(fileData) file:close() local texture2d = cc.Director:getInstance():getTextureCache():addImage(fullFileName) local pSprite = xhr._urlSprite if texture2d then pSprite:setTexture(texture2d) end pSprite:release() -- be careful end end xhr:registerScriptHandler(onDownloadImage) xhr:send()
xhr._urlSprite = pSprite
),存放用戶的臨時數據,方便返回時使用。