我就是不小心水了一下 然后想修改一下怎么就这么难 …
最近用cocos code ide 1.0rc1 + cocos2dx3.2 写了一点test 写到网络部分的时候发现个问题
1)cc.XMLHttpRequest 名字绑错了 不是XmlHttpRequest 是 XMLHttpRequest 嘛这只是个小问题,顶多就是看不见代码提示呗
- lua_xml_http_request 添加 setTag 和 getTag 方法并添加 lua 绑定
修改了void LuaMinXmlHttpRequest::_sendRequest() 的方法 (话说里面的TODO是闹哪样 …… 填空题?)
lua 对应的handler方法中将接收到 evt(string), sender(LuaMinXmlHttpRequest – userdata 因为我只要tag就行了所以 …)
按照我的需求修改后的一个小例子,如果有类似需求可以参考,有更好的解决办法跪求赐教
ps: 我上传文件失败了n次了呵呵呵呵。。。
test.lua
print(“test”)
print(“append a url string …”)
local url = “YOUR URL STRING”
print(“get a request …”)local requestDict = {}
setmetatable(requestDict,{__mode = “v”})
local function responseCallback(evt, sender)
– FOR EXAMPLE:
– if evt == “onSuccess” then
– – TODO
– elseif evt == “onError” then
– – TODO
– end
local request = requestDict
print(“in callback " … “event:” … tostring(evt) … " sender:” … tostring(sender))
print(“statue:” … request.statusText)
print(“response:” … request.response)
– and so on …
print("tag: " … sender:getTag())
request = nil
end
local requestTag = 99
if requestDict == nil then
local request = cc.XMLHttpRequest:new()
requestDict = request
request.responseType = cc.XMLHTTPREQUEST_RESPONSE_STRING
request:open(“GET”,url,true)
request:setTag(requestTag)
print(“send request async …”)
request:registerScriptHandler(responseCallback)
request:send()
end
print(“send, wait for callback …”)
log 如图
文件附件 …… 都不好使
这个问题在论坛里好像真的挂了很长时间了,菊巨们很忙嘛 …