substr() and strlolower() do not support UTF-8 encoding, so ajaxCall() method can fail during json encoding