Difference between revisions of "lure.tuts.xmlhttprequest"
(Created page with "== Using XMLHttpRequest == Lure has the capability to make HTTP requests. This is accomplished by wrapping the already available socket.http library into a DOM XMLHttpRequest ob...") |
(→POST Request) |
||
Line 32: | Line 32: | ||
</source> | </source> | ||
− | == POST Request == | + | === POST Request === |
<source lang="lua"> | <source lang="lua"> | ||
function love.load() | function love.load() | ||
+ | |||
--require lure library | --require lure library | ||
require("lure//lure.lua") | require("lure//lure.lua") |
Revision as of 09:17, 21 December 2011
Using XMLHttpRequest
Lure has the capability to make HTTP requests. This is accomplished by wrapping the already available socket.http library into a DOM XMLHttpRequest object. Lure's implimentation of XMLHttpRequest supports synchronous and asynchronous HTTP requests.
Shut up and show me how!!
GET Request
function love.load()
--require lure library
require('lure//lure.lua')
--create new XMLHttpRequest Object
http = XMLHttpRequest.new()
--create a new request, set method, url, and sync option
http.open("GET", "http://www.love2d.org/", true)
--create callback function to trigger when request readyState changes
http.onReadyStateChange = function()
print(http.readyState)
print(http.status)
print(http.statusText)
print(http.responseText)
end
--send your GET request!
http.send()
end
POST Request
function love.load()
--require lure library
require("lure//lure.lua")
--create new XMLHttpRequest Object
http = XMLHttpRequest.new()
--set url, and post params
url = "http://mydomain.com/"
params = "a=1&b=2"
--create a new request, set method, url, and sync option
http.open("POST", url, true)
--set request headers
http.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
http.setRequestHeader("Content-Length", params:len())
--create callback function to trigger when request readyState changes
http.onReadyStateChange = function()
print(http.readyState)
print(http.status)
print(http.statusText)
print(http.responseText)
end
--send your POST request!
http.send(params)
end