cocos2dx lua http请求获取网络数据:

 
  1. local xhr = cc.XMLHttpRequest:new() --创建一个请求

  2. xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING --设置返回数据格式为字符串

  3. local req = "http://www.XXX” --请求地址

  4. xhr:open("GET", req) --设置请求方式 GET 或者 POST

  5.  
  6. local function onReadyStateChange() --请求响应函数

  7. if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then —请求状态已完并且请求已成功

  8. local statusString = "Http Status Code:"..xhr.statusText

  9. print("请求返回状态码"..statusString)

  10. local s = xhr.response —获得返回的内容

  11. print(“返回的数据")

  12. end

  13. end

  14. xhr:registerScriptHandler(onReadyStateChange) --注册请求响应函数

  15. xhr:send() —最后发送请求

 

 

注:

请求状态  xhr.readyState == 4 

 

  • 0: 请求未初始化
  • 1: 服务器连接已建立
  • 2: 请求已接收
  • 3: 请求处理中
  • 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_JSON = 4 -- 返回JSON数据类型

 

你可能感兴趣的:(cocos2dx lua http请求获取网络数据:)