cocos2dx lua http请求获取网络数据:
local xhr = cc.XMLHttpRequest:new() --创建一个请求
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING --设置返回数据格式为字符串
local req = "http://www.XXX” --请求地址
xhr:open("GET", req) --设置请求方式 GET 或者 POST
local function onReadyStateChange() --请求响应函数
if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then —请求状态已完并且请求已成功
local statusString = "Http Status Code:"..xhr.statusText
print("请求返回状态码"..statusString)
local s = xhr.response —获得返回的内容
print(“返回的数据")
end
end
xhr:registerScriptHandler(onReadyStateChange) --注册请求响应函数
xhr:send() —最后发送请求
注:
请求状态 xhr.readyState == 4
|
数据返回格式 xhr.responseType
cc.XMLHTTPREQUEST_RESPONSE_STRING = 0 -- 返回字符串类型
cc.XMLHTTPREQUEST_RESPONSE_ARRAY_BUFFER = 1 -- 返回字节数组类型
cc.XMLHTTPREQUEST_RESPONSE_BLOB = 2 -- 返回二进制大对象类型
cc.XMLHTTPREQUEST_RESPONSE_DOCUMENT = 3 -- 返回文档对象类型
cc.XMLHTTPREQUEST_RESPONSE_BLOB = 2 -- 返回二进制大对象类型
cc.XMLHTTPREQUEST_RESPONSE_DOCUMENT = 3 -- 返回文档对象类型
cc.XMLHTTPREQUEST_RESPONSE_JSON = 4 -- 返回JSON数据类型