HttpRequest.lua
2.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
--[[
Http请求
]]
HttpRequest = class("HttpRequest")
function HttpRequest:getInstance()
if not HttpRequest._instance then
HttpRequest._instance = HttpRequest.new()
end
return HttpRequest._instance
end
function HttpRequest:post(url, params, success_callback, error_callback,response_type)
self:handleResponse("POST",url, params, success_callback, error_callback,response_type);
end
function HttpRequest:get(url, params, success_callback, error_callback,response_type)
self:handleResponse("GET",url, params, success_callback, error_callback,response_type);
end
function HttpRequest:handleResponse(type,url, params,success_callback, error_callback,response_type)
local xhr = cc.XMLHttpRequest:new();
xhr.responseType = response_type or cc.XMLHTTPREQUEST_RESPONSE_JSON;
xhr:open(type, url);
print("HttpRequest:"..url);
xhr:setRequestHeader("Content-Type","application/json");
-- xhr:setRequestHeader("Content-Type","application/x-www-form-urlencoded");
-- local Authorization = "CtUserAuth AccessToken="..self.Accesstoken.."&UserID="..self.userPlugin:getUserID().."&AppID=1880671";
-- xhr:setRequestHeader("Authorization",Authorization) -- 提交的参数
local function onReadyStateChange()
if xhr.readyState == 4 and (xhr.status >= 200 and xhr.status < 207) then
print("HttpRequest RESPONSE:"..xhr.response);
if success_callback then
success_callback(xhr.response);
end
xhr:unregisterScriptHandler();
else
if error_callback then
error_callback();
end
print("xhr.readyState is:", xhr.readyState, "xhr.status is: ",xhr.status);
end
-- xhr:release();
end
xhr:registerScriptHandler(onReadyStateChange);
if params and not TableUtil.isEmpty(params) then
paramsStr = json.encode(params);
print("HttpRequest PARAMS:"..paramsStr);
xhr:send(paramsStr);
else
xhr:send();
end
end
function HttpRequest:getParamsStr(params)
local paramsStr = "";
for i,v in pairs(params) do
paramsStr = paramsStr..i.."="..v.."&";
end
paramsStr = string.sub(paramsStr,1,string.len(paramsStr)-1);
return paramsStr;
end
return HttpRequest