次のコードはリクエストをサーバーに送信できず、その理由がわかりません。
ここに私のjspページの一部があります
$(document).ready(function() {
$('#firstName').change(function() {
if(('#firstName').val().length >= 2){
$.getJSON(
"getPSPersons.html",
{ firstName: $('#firstName').val(), lastName: $('#lastName').val()},
function(data) {
buildTable(data);
}
);
}
});
});
-------------------------------
<form:form name="addperson" method="GET">
<label for="firstName">First Name</label>
<input type="text" name="firstName" id="firstName" size="15"/>
<label for="lastName">Last Name</label>
<input type="text" name="lastName" id="lastName" size="15"/>
</form:form>
そして、Spring コントローラ クラス関数
@RequestMapping(value="getPSPersons.html", method = RequestMethod.GET)
public @ResponseBody List<Person> getPersonsWithNames(
@RequestParam("firstName") String firstName, @RequestParam("lastName") String lastName)
{
List<Person> personList = new ArrayList<Person>();
if(firstName.length()>=2 || lastName.length() >=2)
{
personList = personService.getPersonsWithName(firstName, lastName);
}
return personList;
}
要件は、ユーザーが「ファーストネーム」入力ボックスに複数の文字を入力した場合、AJAx リクエストをサーバーに送信して、ファーストネームがそれらの文字で始まるすべての人を取得する必要があることですが、ここでは get リクエストがこの関数を呼び出すことはありません。 JQueryリクエスト側で何か問題があると確信していますが、それが何であるかを見つけることができません..
- - -アップデート - - - - -
エラーが見つかりました.. 3行目では、 if( $ ('#firstName').val().length >= 2){ 先頭の $ が欠落していたはずです