我很難理解這裏的邏輯。好了,讓我們說我有一個類數據如何從JSON傳遞給AJAX?
@RequestMapping(value="/GetPersons", method = RequestMethod.GET)
public void loadPersons(HttpSession session, HttpServletRequest request, HttpServletResponse response) throws IOException {
OutputStream out = response.getOutputStream();
List<Person> persons = personDAO.loadPersons();
Iterator iterator = persons.iterator();
JSONObject jsonObject = new JSONObject();
JSONArray jsonArray = new JSONArray();
while (iterator.hasNext()) {
JSONObject object = new JSONObject();
object.put("name", person.GetName());
jsonArray.add(object);
}
jsonObject.put("data", jsonArray);
OutputStreamWriter writer = new OutputStreamWriter(out);
try {
writer.write(jsonObject.toString());
}finally {
writer.close();
}
}
然後我在index.jsp中有一個簡單的腳本
function loadPersons(json) {
var obj = JSON.parse(json);
var Person = obj.data;
for (i = 0; i < myArr.length; i++) {
$('#myId).append('<li><a href="#" PersonId="+Person[i].name+">Test</a></li>');
}
}
$.ajax({
url: "http://localhost:8080/Persons/getPersons",
success: function (data) {
loadPersons(data);
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
所以我的問題是下面的......那是什麼而來的邏輯在這? JSONObject數據如何傳遞給$ .ajax成功和函數。該函數需要一個參數「數據」,但會傳遞什麼?從java或整個getPersons方法?
這裏的要點是通過使用ajax調用json對象來動態填充簡單的下拉列表。
JavaScript中'loadPersons'函數的主體非常混亂。 –