I have a HTML list of about 500 items and a "filter" box above it. I started by using jQuery to filter the list when I typed a letter (timing code added later): $('#filter').keyup( function() { var jqStart = (new Date).getTime(); var search = $(this).val().toLowerCase(); var $list = $('ul.ablist > li'); $list.each( function() { if ( $(this).text().toLowerCase().indexOf(search) === -1 ) $(this).hide(); else $(this).show(); } ); console.log('Time: ' + ((new Date).getTime() - jqStart)); } ); However, there was a couple of seconds delay after typing each letter (particularly the first letter). So I thought it may be slightly quicker if I used plain Javascript (I read recently that jQuery's each function is particularly slow). Here's my JS equivalent: document.getElementById('filter').addEventListener( 'keyup', function () { var jsStart = (new Date).getTime()...
Im using my PHP-Webservice this way:
ReplyDeleteJava:
// params => "?action=getInfos"
private JSONObject getJSONObject(String params)
{
try
{
String url = path2webservicephp + params;
System.out.println("Call URL: " + url);
HttpGet request = new HttpGet(url);
request.setHeader("Content-Type", "text/xml;charset=UTF-8");
DefaultHttpClient httpclient2 = new DefaultHttpClient();
HttpResponse response = httpclient2.execute(request);
if (response.getStatusLine().getStatusCode() != 200)
throw new ConnectionException("Status Code is " + response.getStatusLine().getStatusCode() + ": " + response.getStatusLine().getReasonPhrase());
BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8"));
String line = reader.readLine();
MyConstants.RECEIVEDBYTES += line.length();
reader.close();
if ("[]".equals(line))
return null;
return new JSONObject(line);
}
catch (Exception e)
{
LLog.e(Webservice.class, "Exception! params: " + params);
LLog.e(e, Webservice.class);
}
return null;
}
// LLog.e is from my own class. It logs to Log.e and into a file
PHP:
$array = array('status' => 'ok', 'message' => 'your action was: '.$_GET['action']);
echo json_encode($array);