Я знаю, что есть несколько похожих вопросов по SO, я использовал некоторые из них, чтобы пройти этот путь. Я пытаюсь перечислить набор URL, которые соответствуют моим входным значениям. У меня есть сервлет, который принимает некоторые данные, например «aus» в приведенном ниже примере возвращает некоторый результат, используя out.print (), например, два URL, которые я показал ниже.
ПРИМЕР
Именно это я и хочу. Я видел, что у firebug, похоже, ничего нет в разделе ответов, несмотря на то, что он вызвал out.print(jsonString);
, и кажется, что out.print(jsonString);
работает, как и ожидалось, что предполагает, что переменная 'jsonString' содержит ожидаемые значения.
Однако я не совсем уверен, что не так.
-------- JQuery ---------
$(document).ready(function() {
$("#input").keyup(function() {
var input = $("#input").val();
//$("#output").html(input);
ajaxCall(input);
});
});
function ajaxCall(input) {
// alert(input);
$.ajax({
url: "InstantSearchServlet",
data: "property="+input,
beforeSend: function(x) {
if(x && x.overrideMimeType) {
x.overrideMimeType("application/j-son;charset=UTF-8");
}
},
dataType: "json",
success: function(data) {
for (var i = 0, len = datalength; i < len; ++i) {
var urlData = data[i];
$("#output").html(urlData.url);
}
}
});
}
------ Сервлет, который вызывает класс DAO - и возвращает результаты -------
public class InstantSearchServlet extends HttpServlet{
private static final long serialVersionUID = 1L;
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
System.out.println("You called?");
response.setContentType("application/json");
PrintWriter out = response.getWriter();
InstantSearch is = new InstantSearch();
String input = (String)request.getParameter("property");
System.out.println(input);
try {
ArrayList<String> urllist;
urllist = is.getUrls(input);
String jsonString = convertToJSON(urllist);
out.print(jsonString);
System.out.println(jsonString);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private String convertToJSON(ArrayList<String> urllist) {
Iterator<String> itr = urllist.iterator();
JSONArray jArray = new JSONArray();
int i = 0;
while (itr.hasNext()) {
i++;
JSONObject json = new JSONObject();
String url = itr.next();
try {
json.put("url",url);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
jArray.put(json);
}
String results = jArray.toString();
return results;
}
}