Hi
I am trying to show data on webpage that is loaded after user login.
Every thing is working data is loaded in webserver but i cant get the data to show on page ,exept if i load another web page.
It is like the webpage can not wait for data request.
And here is sql query
And here is html
Thank you
I am trying to show data on webpage that is loaded after user login.
Every thing is working data is loaded in webserver but i cant get the data to show on page ,exept if i load another web page.
It is like the webpage can not wait for data request.
B4X:
Sub Handle(req As ServletRequest, resp As ServletResponse)
mreq = req
mresp = resp
resp.ContentType = "text/html"
Log(Main.PrintAllParameters(req))
If req.GetParameter("ajax") = True Then
Dim id As String = req.GetParameter("client_id")
Wait For(Main.get_device(id)) Complete(result As Map)'command to sql query '
resp.Write(result.GetKeyAt(1))
End If
End Sub
And here is sql query
B4X:
Public Sub get_device (id As String) As ResumableSub
Dim device_map As Map
device_map.Initialize
Dim req1 As DBRequestManager = CreateRequest
Dim cmd As DBCommand = CreateCommand("app_devices", Array(id))
Wait For (req1.ExecuteQuery(cmd, 0, Null)) JobDone(j1 As HttpJob)
If j1.Success Then
req1.HandleJobAsync(j1, "req1")
Wait For (req1) req1_Result(res As DBResult)
'work with result
req1.PrintTable(res)
For Each row() As Object In res.Rows
Dim mac As String = (row(res.Columns.Get("mac")))
device_map.Put("mac",mac)
Next
j1.Release
End If
Return device_map
End Sub
And here is html
HTML:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script>
</head>
<body>
<h1>Device List</h1>
<img src='images/logo.png'/ width=100 height=100><br/>
<div id="main">
<FORM id = "form1" action="" method="post">
<P>
<LABEL for="id">Client Number: </LABEL>
<INPUT type="text" name="client_id"><BR>
<input type="hidden" name="ajax" value="true"/>
<INPUT type="submit" value="Send">
</P>
</FORM>
</div>
<script type="text/javascript">
$("#form1").submit(function() {
$.ajax({
type: "POST",
url: "/modems",
data: $("#form1").serialize(),
success: function(result)
{
$("#main").html(result);
},
error: function (xhr, ajaxOptions , thrownError) {
alert(thrownError);
}
});
return false;
});
</script>
</body>
Thank you
Last edited: