• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Lua中http设置

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

【链接】XMLHttpRequest
https://developer.mozilla.org/zh-CN/docs/Web/API/XMLHttpRequest




local MainScene = class("MainScene", cc.load("mvc").ViewBase)


function MainScene:onCreate()
    -- add background image
    -- display.newSprite("bg1.png")
    --     :move(display.center)
    --     :addTo(self)
    --注册按钮 (get)
    self.register_Btn = ccui.Button:create();
    self.register_Btn:setTitleText("help");
     self.register_Btn:setTitleFontSize(20)
    self.register_Btn:setPosition(cc.p(display.cx,display.cy+100));
    self:addChild(self.register_Btn);
    self.register_Btn:addClickEventListener(function (  )
    print("注册!")
    local xhr = cc.XMLHttpRequest:new() --创建一个请求
    --[[
    数据返回格式  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数据类型
    ]]
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING --设置返回数据格式为字符串
local req = "http://123.56.50.222:8050/[email protected]&password=881122&phoneIdentity=1998273" --请求地址
xhr:open("GET", req) --设置请求方式  GET     或者  POST
local function onReadyStateChange()  --请求响应函数
--[[
  readyState : 请求五中状态
   0 UNSENT (未打开) open()方法还未被调用.
1 OPENED  (未发送) send()方法还未被调用.
2 HEADERS_RECEIVED (已获取响应头) send()方法已经被调用, 响应头和响应状态已经返回.
3 LOADING (正在下载响应体) 响应体下载中; responseText中已经获取了部分数据.
4 DONE (请求完成) 整个请求过程已经完毕.
status: 该请求的响应状态码 (例如, 状态码200 表示一个成功的请求).只读.
statusText: 该请求的响应状态信息,包含一个状态码和原因短语 (例如 "200 OK"). 只读.
]]
   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 --获得服务端返回的内容
           dump(s)
           print("****************************")
           local str = json.decode(s)
           for k,v in pairs(str) do
            print(k,v)
           end
   end
end
xhr:registerScriptHandler(onReadyStateChange) --注册请求响应函数
xhr:send() --最后发送请求
    end)


    --登录按钮  (post)
    self.DengLu_Btn = ccui.Button:create();
    self.DengLu_Btn:setTitleText("play");
    self.DengLu_Btn:setPosition(cc.p(display.cx,display.cy));
    self:addChild(self.DengLu_Btn);
    self.DengLu_Btn:addClickEventListener(function (  )
    print("登录")
    local xhr = cc.XMLHttpRequest:new() --创建一个请求
xhr.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING --设置返回数据格式为字符串
local req = "http://123.56.50.222:8050/userLogin"; --请求地址
local postData = "{email:[email protected],password:881122,phoneIdentity:1998273}";--post 传递的数据
xhr:open("POST", req) --设置请求方式  POST     或者  GET
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("****************************")
           local str = json.decode(s)
           for k,v in pairs(str) do
            print(k,v)
           end
   end
end
xhr:registerScriptHandler(onReadyStateChange) --注册请求响应函数
xhr:send(postData) --最后发送请求
    end)


    -- websocket 测试 (post)
    -- self.wsSendText = cc.WebSocket:create("ws://127.0.0.1:3000");
    -- local function wsSendTextOpen( strData )
    -- print("Websocket 打开实例");
    -- end 
    -- local function wsSendTextMessage( strData )
    --     local info = "接收服务端数据 : " .. strData
    --     print(info)
    -- end 
    -- local function wsSendTextClose( strData )
    -- print("Websocket 实例关闭");
    -- end
    -- local function wsSendTextError ( strData )
    -- print("Websocket 发生错误")
    -- end
    -- self.wsSendText:registerScriptHandler(wsSendTextOpen,cc.WEBSOCKET_OPEN);
    -- self.wsSendText:registerScriptHandler(wsSendTextMessage,cc.WEBSOCKET_MESSAGE);
    -- self.wsSendText:registerScriptHandler(wsSendTextClose,cc.WEBSOCKET_CLOSE);
    -- self.wsSendText:registerScriptHandler(wsSendTextError,cc.WEBSOCKET_ERROR);
    -- self.webTest_Btn = ccui.Button:create("play.png");
    -- self.webTest_Btn:setPosition(cc.p(display.cx,display.cy-100));
    -- self:addChild(self.webTest_Btn);
    -- self.webTest_Btn:addClickEventListener(function (  )
    -- print("websocket test!");
    -- if cc.WEBSOCKET_STATE_OPEN == self.wsSendText:getReadyState() then
    -- print("send text ws is waiting")
    -- self.wsSendText:sendString("Hello Websocket")
    -- else
    -- local warningStr = "Websocket 没有准备好!";
    -- print(warningStr);
    -- end
    -- end)
end


return MainScene



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
lua调用java java调用lua[转载]发布时间:2022-07-22
下一篇:
lua:把lua文本文件“编译”成二进制的文本发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap