I have tried the 2 possible “GET” and “POST” requests using Ajax from the online example Performing GET and POST requests using Ajax , but not successfull, I don’t understand how can I get the “name” and “value”.
I used the html file “johnsmith.html” as URL in this example.
"johnsmith.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>johnsmith webpage</title>
</head>
<body>
<?php $name=htmlspecialchars($_GET['name']);
$name=stripslashes($name);
$age=(int)$_GET['age'];
echo "<span style='color:red'>Welcome <b>$name</b> to JavaScript Kit. So you're <b>$age</b> years old eh?</span>";
?>
</body>
</html>
I have added the handler for all files which I used.
using (HttpServer server = new HttpServer())
{
server.AddEvent("/parameter", new HttpServer.EventCallback(Parameter_Field));
server.AddEvent("/johnsmith.html", new HttpServer.EventCallback(Johnsmith));
while (true)
{
// Sleep for 500 milliseconds
Thread.Sleep(500);
}
}
private static void Parameter_Field(object sender, HttpServer.EventCallbackEventArgs e)
{
e.Response = Resources.GetString(Resources.StringResources.Parameter_Field);
e.ResponseContentType = "text/html";
}
private static void Johnsmith(object sender, HttpServer.EventCallbackEventArgs e)
{
e.Response = Resources.GetString(Resources.StringResources.johnsmith);
e.ResponseContentType = "text/html";
}
the code of GET requests using Ajax is as follow: and the result is in picture 1
GET
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Get Test</title>
<script type="text/javascript">
function ajaxRequest()
{
var activexmodes = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
if (window.ActiveXObject)
{
//Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
for (var i = 0; i < activexmodes.length; i++)
{
try
{
return new ActiveXObject(activexmodes[i])
}
catch (e)
{
//suppress error
}
}
}
else if (window.XMLHttpRequest) // if Mozilla, Safari etc
return new XMLHttpRequest()
else
return false
}
</script>
</head>
<body>
<script type="text/javascript">
function ajaxget()
{
var mygetrequest = new ajaxRequest()
mygetrequest.onreadystatechange = function ()
{
if (mygetrequest.readyState == 4)
{
if (mygetrequest.status == 200 || window.location.href.indexOf("http") == -1)
{
document.getElementById("result").innerHTML=mygetrequest.responseText
}
else
{
alert("An error has occured making the request")
}
}
}
var namevalue=encodeURIComponent(document.getElementById("name").value)
var agevalue=encodeURIComponent(document.getElementById("age").value)
mygetrequest.open("GET", "johnsmith.html?name=" + namevalue + "&age=" + agevalue, true)
mygetrequest.send(null)
}
</script>
<form method="get" action="">
Your name: <input type="text" id="name" name="name" size="25" /> <br />
Your age: <input type="text" id="age" name="age" size="25" /> <br />
<input type="button" value="submit" onClick="ajaxget()" />
</form>
<div id="result"> </div>
</body>
</html>
the code of POST requests using Ajax is as follow: and the result is in picture 2
POST
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Get Test</title>
<script type="text/javascript">
function ajaxRequest()
{
var activexmodes = ["Msxml2.XMLHTTP", "Microsoft.XMLHTTP"] //activeX versions to check for in IE
if (window.ActiveXObject)
{
//Test for support for ActiveXObject in IE first (as XMLHttpRequest in IE7 is broken)
for (var i = 0; i < activexmodes.length; i++)
{
try
{
return new ActiveXObject(activexmodes[i])
}
catch (e)
{
//suppress error
}
}
}
else if (window.XMLHttpRequest) // if Mozilla, Safari etc
return new XMLHttpRequest()
else
return false
}
</script>
</head>
<body>
<script type="text/javascript">
function ajaxget()
{
var mygetrequest = new ajaxRequest()
mygetrequest.onreadystatechange = function ()
{
if (mygetrequest.readyState == 4)
{
if (mygetrequest.status == 200 || window.location.href.indexOf("http") == -1)
{
document.getElementById("result").innerHTML=mygetrequest.responseText
}
else
{
alert("An error has occured making the request")
}
}
}
var namevalue = encodeURIComponent(document.getElementById("name").value)
var agevalue = encodeURIComponent(document.getElementById("age").value)
var parameters = "name=" + namevalue + "&age=" + agevalue
mypostrequest.open("POST", "johnsmith.html", true)
mypostrequest.send(parameters)
}
</script>
<form method="post" action="">
Your name: <input type="text" id="name" name="name" size="25" /> <br />
Your age: <input type="text" id="age" name="age" size="25" /> <br />
<input type="button" value="submit" onClick="ajaxget()" />
</form>
<div id="result"> </div>
</body>
</html>
I nedd some help, how can I get the value of “name” and “age” ? I want to use the value from form for my Threadloop in C# file.