Quick Links: Download Gideros Studio | Gideros Documentation | Gideros Development Center | Gideros community chat | DONATE
Cannot serilize Userdata: type not suppoerted .... — Gideros Forum

Cannot serilize Userdata: type not suppoerted ....

SarthakSarthak Member
edited September 2014 in General questions
Hi,
I have signin&signUp in my game, for that i have used json , both works in gideros, but after i deploy in ios, same thing is not working, it gives me following error:
"Cannot serilize Userdata: type not suppoerted ...."
i have used following code ,
require("json")
 
signUp = Core.class(Sprite)
 
--JsonData For SignUp
local data = {
mode = "registerUser",
emailId = txtemail,
username = txtUsername,
password = txtpwd
}
 
function signUp:onComplete(e)
print("done")
local t = json.decode(e.data)
for k,v in pairs(t) do
print(k,v)
end
sceneManager:changeScene("login", 1, SceneManager.fade, easing.linear)
 
end
 
function signUp:onError(e)
print("error"..e.error)
end
 
function signUp:onProgress(event)
   print("progress: " .. event.bytesLoaded .. " of " .. event.bytesTotal)
end
 
 
function signUp:onMouseDown(event)
 
	if btn_done:hitTestPoint(event.x, event.y) then
                      --Json Call
			body = json.encode(data)
			local url="url"
			local loader = UrlLoader.new(url,UrlLoader.POST,body)
			loader:addEventListener(Event.COMPLETE, self.onComplete,loader)
			loader:addEventListener(Event.ERROR, self.onError,loader)
			loader:addEventListener(Event.PROGRESS, self.onProgress,loader)
        end
end

Comments

  • After a seraching, i found the solution, that we need to pass data/body in the form of string,
    the modified code is as follows:
     
      signUp = Core.class(Sprite)
     
     
    function signUp:onComplete(e)
           print("done")
    	local t = Json.Decode(e.data)
    	for k,v in pairs(t) do
    		print(k,v)
         end
    end
     
    function signUp:onError(e)
       print("error"..e.error)
    end
     
    function signUp:onProgress(event)
       print("progress: " .. event.bytesLoaded .. " of " .. event.bytesTotal)
    end
     
     
    function signUp:onMouseDown(event)
     
    	if btn_done:hitTestPoint(event.x, event.y) then
                          local data = {
    			["mode"] = "registerUser",
                            ["emailId"] = "email",
    			["username"] = "username",
    			["password"] = "password"
    			}
    			--Json Call
    			local body = Json.Encode (data)
    			local url="url"
    			local loader = UrlLoader.new(url,UrlLoader.POST,body)
    			loader:addEventListener(Event.COMPLETE, self.onComplete,loader)
    			loader:addEventListener(Event.ERROR, self.onError,loader)
    			loader:addEventListener(Event.PROGRESS, self.onProgress,loader)
            end
    end
    +1 -1 (+2 / -0 )Share on Facebook
Sign In or Register to comment.