MAUAHAHAH! My ajax test!!

For all coding issues - MODers and programmers, HTML and more.

Moderators: Jeff250, fliptw

Post Reply
User avatar
Isaac
DBB Artist
DBB Artist
Posts: 7127
Joined: Mon Aug 01, 2005 8:47 am
Location: Ơ̸̦͇̲̬̭̱̰͎̞͈̣͎͚̳ͬ͋̃̀̇͊͂͋͐ͦ̽ͣ̂ͥ͊̅̀̚͠ B̶͖̯͉̜̰̲̓̔͋̈́ͅ È̯ Y̪̤̼͉̠̙͝

MAUAHAHAH! My ajax test!!

Post by Isaac » Thu Jun 16, 2011 1:26 pm

http://testing.isaacg.net/ajax_test/ajaxtest.html
I'm going to be able to do tons with this, now that I understand it!!!
s☼-£♦и̫͍ͥ̍ͪ͌̓͗͡о̡̹̱͊̅ͮ̓̕͢б̧̝̻̪̤̳̜͐̓̉ͤ͢͜ ͙̬͙̆̑ͮ̐ͭ̾̂́͘i̎̌̾̓̽̀̈̓̀҉͉̙̦͎̘̝͕f̻͕͔̘ͣͣ̓͊̿͢͜ ͍͔͈͕̮̫ͣ̆ͮ̊͋/♂6Æ!♪╩"▲L└уͭ̂͐̇҉̴̣̼̞̠̯͓̺̞ф̜̊͌̈́̋̏̐́ц̨͔̮̿̇ ̨̛͖̙͖̖̮̗̱ͩ̆͞ͅа̥͇̞̖͚̟̅͐ͤ͞͠͠э̜̘̩̳̬͔̾ͯ̀ͫ̒̐̿ͅͅг̭̖̀ͦ̒̑ͥ̌ͮͫ͞ё͔̟̃ͬ̾̓͟ё̦̞̙̫͔̩͑̀͂ͯ̄̔̃̑̀͠ͅͅ
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: MAUAHAHAH! My ajax test!!

Post by Jeff250 » Thu Jun 16, 2011 3:12 pm

Yup, it's nifty. You can use $.post() wrapper instead of $.ajax() to make it even simpler.

edit: Ack, you're also closing your <div> tag with a </button> tag. :P
User avatar
Isaac
DBB Artist
DBB Artist
Posts: 7127
Joined: Mon Aug 01, 2005 8:47 am
Location: Ơ̸̦͇̲̬̭̱̰͎̞͈̣͎͚̳ͬ͋̃̀̇͊͂͋͐ͦ̽ͣ̂ͥ͊̅̀̚͠ B̶͖̯͉̜̰̲̓̔͋̈́ͅ È̯ Y̪̤̼͉̠̙͝

Re: MAUAHAHAH! My ajax test!!

Post by Isaac » Thu Jun 16, 2011 3:39 pm

Hahaha. Fixed. Thanks!

here's the python source, for the record:

Version 1 of code. Simple mode. This is all you need to get the example above:

Code: Select all

#!/usr/bin/python
import cgi,cgitb
form = cgi.FieldStorage()
mystr=form.getvalue("try")
print  """ Content-Type: text/html\n\n
<b>This is Python responding! Hello!!!</b> Here's what you sent:
<i>"%s"</i><br/><hr></hr>
""" % mystr

Here's the python code I'm running, with an if statement that responds differently if you try to access the cgi file directly.

Code: Select all

#!/usr/bin/python
import cgi,cgitb
form = cgi.FieldStorage()
mystr=form.getvalue("try")
print "Content-Type: text/html\n\n"
display ="pppppttt!!!<i> cheater</i>"
if mystr<>None:
	display = """<b>This is Python responding! Hello!!!</b> Here's what you sent:
<i>"%s"</i>
<br/>
<hr></hr>
""" % mystr
print display
HTML:

Code: Select all

<html>
<head><title>test</title></head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js"></script>
<script>
$(document).ready(function(){
	$("#go").click(function(){
		$.ajax ({type:"post",data:"try=This text is from jQuery",url:"ajaxtest.cgi",
			success:function(result){ $("#mydiv").append(result);}
			});
		});

});

</script> 
<body>

<button id="go">Send string "This text is from jQuery"</button>
<div id="mydiv"></div>

</body>
</html>
s☼-£♦и̫͍ͥ̍ͪ͌̓͗͡о̡̹̱͊̅ͮ̓̕͢б̧̝̻̪̤̳̜͐̓̉ͤ͢͜ ͙̬͙̆̑ͮ̐ͭ̾̂́͘i̎̌̾̓̽̀̈̓̀҉͉̙̦͎̘̝͕f̻͕͔̘ͣͣ̓͊̿͢͜ ͍͔͈͕̮̫ͣ̆ͮ̊͋/♂6Æ!♪╩"▲L└уͭ̂͐̇҉̴̣̼̞̠̯͓̺̞ф̜̊͌̈́̋̏̐́ц̨͔̮̿̇ ̨̛͖̙͖̖̮̗̱ͩ̆͞ͅа̥͇̞̖͚̟̅͐ͤ͞͠͠э̜̘̩̳̬͔̾ͯ̀ͫ̒̐̿ͅͅг̭̖̀ͦ̒̑ͥ̌ͮͫ͞ё͔̟̃ͬ̾̓͟ё̦̞̙̫͔̩͑̀͂ͯ̄̔̃̑̀͠ͅͅ
User avatar
Foil
DBB Material Defender
DBB Material Defender
Posts: 4900
Joined: Tue Nov 23, 2004 3:31 pm
Location: Denver, Colorado, USA

Re: MAUAHAHAH! My ajax test!!

Post by Foil » Thu Jun 16, 2011 4:11 pm

I haven't done web development in years, but I remember AJAX seemed like a pretty efficient way to do things on-demand for users.
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: MAUAHAHAH! My ajax test!!

Post by Jeff250 » Thu Jun 16, 2011 6:20 pm

It's also time to start declaring a doctype and making sure your code validates at validator.w3.org. It looks like you're using HTML5-isms, so the HTML5 doctype would be a good choice. You don't want to spend an hour debugging your Javascript just to find out it's not working because the browser isn't parsing your HTML correctly. Older browsers are the most inconsistent about parsing invalid HTML--invalid HTML might work fine on one browser, say the one you use by default, but when you go and test it on another browser, it might mysteriously barf. Another reason to declare a doctype is that older versions of IE are even worse than ordinary at rendering HTML/CSS unless you declare a doctype.
User avatar
Isaac
DBB Artist
DBB Artist
Posts: 7127
Joined: Mon Aug 01, 2005 8:47 am
Location: Ơ̸̦͇̲̬̭̱̰͎̞͈̣͎͚̳ͬ͋̃̀̇͊͂͋͐ͦ̽ͣ̂ͥ͊̅̀̚͠ B̶͖̯͉̜̰̲̓̔͋̈́ͅ È̯ Y̪̤̼͉̠̙͝

Re: MAUAHAHAH! My ajax test!!

Post by Isaac » Thu Jun 16, 2011 8:47 pm

I will do this and read more on it too. This concept is new to me.


Also, should I allow a single webpage to call many different python scripts, streaming data back and forth with ajax, or should I have one jQuery ajax function talking to a single cgi file, so there's only one stream per user? I can imagine having different cgi files doing different jobs, all pushing data to the browser. That would make adding features easier, because each jQuery program could have its own Python script. On the other hand, I could have a master cgi file that deals specifically with all streaming data and imports all my py files.

Maybe it doesn't matter, because it might be streaming the same amount of data anyway.
s☼-£♦и̫͍ͥ̍ͪ͌̓͗͡о̡̹̱͊̅ͮ̓̕͢б̧̝̻̪̤̳̜͐̓̉ͤ͢͜ ͙̬͙̆̑ͮ̐ͭ̾̂́͘i̎̌̾̓̽̀̈̓̀҉͉̙̦͎̘̝͕f̻͕͔̘ͣͣ̓͊̿͢͜ ͍͔͈͕̮̫ͣ̆ͮ̊͋/♂6Æ!♪╩"▲L└уͭ̂͐̇҉̴̣̼̞̠̯͓̺̞ф̜̊͌̈́̋̏̐́ц̨͔̮̿̇ ̨̛͖̙͖̖̮̗̱ͩ̆͞ͅа̥͇̞̖͚̟̅͐ͤ͞͠͠э̜̘̩̳̬͔̾ͯ̀ͫ̒̐̿ͅͅг̭̖̀ͦ̒̑ͥ̌ͮͫ͞ё͔̟̃ͬ̾̓͟ё̦̞̙̫͔̩͑̀͂ͯ̄̔̃̑̀͠ͅͅ
User avatar
Jeff250
DBB Master
DBB Master
Posts: 6387
Joined: Sun Sep 05, 1999 2:01 am
Location: ☃☃☃

Re: MAUAHAHAH! My ajax test!!

Post by Jeff250 » Fri Jun 17, 2011 1:06 am

Whatever seems the most elegant. If one approach turns out uglier than you expected, you can always switch to the other more beautiful.

On a technical note, since you seemed to imply otherwise, if you go with the one master cgi script route, you can still have multiple jQuery functions (or multiple calls to the same function) querying it simultaneously. In other words, multiple scripts does not get you any additional parallelism.
User avatar
Isaac
DBB Artist
DBB Artist
Posts: 7127
Joined: Mon Aug 01, 2005 8:47 am
Location: Ơ̸̦͇̲̬̭̱̰͎̞͈̣͎͚̳ͬ͋̃̀̇͊͂͋͐ͦ̽ͣ̂ͥ͊̅̀̚͠ B̶͖̯͉̜̰̲̓̔͋̈́ͅ È̯ Y̪̤̼͉̠̙͝

Re: MAUAHAHAH! My ajax test!!

Post by Isaac » Fri Jun 17, 2011 7:51 am

Yeah, I think. On the other hand, even if I had a single jQuery function that relayed lists to a single cgi file, it would still behave as many jQuery functions, because each user would run a different instance of that function.

Another thing.
http://testing.isaacg.net/commentboxa/comment.html

I think this comment box is easier to work with if it's python script isn't part of a massive collection of scripts.
s☼-£♦и̫͍ͥ̍ͪ͌̓͗͡о̡̹̱͊̅ͮ̓̕͢б̧̝̻̪̤̳̜͐̓̉ͤ͢͜ ͙̬͙̆̑ͮ̐ͭ̾̂́͘i̎̌̾̓̽̀̈̓̀҉͉̙̦͎̘̝͕f̻͕͔̘ͣͣ̓͊̿͢͜ ͍͔͈͕̮̫ͣ̆ͮ̊͋/♂6Æ!♪╩"▲L└уͭ̂͐̇҉̴̣̼̞̠̯͓̺̞ф̜̊͌̈́̋̏̐́ц̨͔̮̿̇ ̨̛͖̙͖̖̮̗̱ͩ̆͞ͅа̥͇̞̖͚̟̅͐ͤ͞͠͠э̜̘̩̳̬͔̾ͯ̀ͫ̒̐̿ͅͅг̭̖̀ͦ̒̑ͥ̌ͮͫ͞ё͔̟̃ͬ̾̓͟ё̦̞̙̫͔̩͑̀͂ͯ̄̔̃̑̀͠ͅͅ
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6415
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Re: MAUAHAHAH! My ajax test!!

Post by fliptw » Fri Jun 17, 2011 10:57 am

There is always maintainability to consider

ponder looking into lxml, it has a html tree builder.
User avatar
Isaac
DBB Artist
DBB Artist
Posts: 7127
Joined: Mon Aug 01, 2005 8:47 am
Location: Ơ̸̦͇̲̬̭̱̰͎̞͈̣͎͚̳ͬ͋̃̀̇͊͂͋͐ͦ̽ͣ̂ͥ͊̅̀̚͠ B̶͖̯͉̜̰̲̓̔͋̈́ͅ È̯ Y̪̤̼͉̠̙͝

Re: MAUAHAHAH! My ajax test!!

Post by Isaac » Sat Jun 18, 2011 8:08 am

fliptw wrote:There is always maintainability to consider

ponder looking into lxml, it has a html tree builder.
Hey!! I looked it up and that's PYTHON!!!! sweeet! Yeah, I'll check it out.
for my notes:
http://lxml.de/intro.html
s☼-£♦и̫͍ͥ̍ͪ͌̓͗͡о̡̹̱͊̅ͮ̓̕͢б̧̝̻̪̤̳̜͐̓̉ͤ͢͜ ͙̬͙̆̑ͮ̐ͭ̾̂́͘i̎̌̾̓̽̀̈̓̀҉͉̙̦͎̘̝͕f̻͕͔̘ͣͣ̓͊̿͢͜ ͍͔͈͕̮̫ͣ̆ͮ̊͋/♂6Æ!♪╩"▲L└уͭ̂͐̇҉̴̣̼̞̠̯͓̺̞ф̜̊͌̈́̋̏̐́ц̨͔̮̿̇ ̨̛͖̙͖̖̮̗̱ͩ̆͞ͅа̥͇̞̖͚̟̅͐ͤ͞͠͠э̜̘̩̳̬͔̾ͯ̀ͫ̒̐̿ͅͅг̭̖̀ͦ̒̑ͥ̌ͮͫ͞ё͔̟̃ͬ̾̓͟ё̦̞̙̫͔̩͑̀͂ͯ̄̔̃̑̀͠ͅͅ
Post Reply