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...")
 
(GET Request)
 
(One intermediate revision by the same user not shown)
Line 5: Line 5:
 
''Shut up and show me how!!''  
 
''Shut up and show me how!!''  
  
== GET Request ==
+
=== GET Request ===
  
 
<source lang="lua">
 
<source lang="lua">
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")

Latest 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