<script src="js/jquery-1.11.1.min.js"></script>
<script>
$(function () {
$("#username").bind('change', function () {
/* $.ajax({
url: "http://localhost:8080/springmvc-01/checkusername.action",
type: "POST",
data: JSON.stringify({
'username': $(this).val()
}),//不用JSON.stringify容易報錯,要傳json字元串不是js對象或json字元串'{"username":'+$(this).val()+'}'
dataType: 'json',
contentType: "application/json",
beforeSend: function () {
//alert("this is before send");
},
success: function (data) {
var hasSame = data.result;
if (hasSame === 'true') {
$('#nametips').html('<span style="color:red">使用者名重複</span>');
} else {
$('#nametips').html('<span style="color:green">可以使用</span>');
}
},
error: function () {
alert('error');
}
});*/
/*ctrl+alt+l格式化代碼*/
$.ajax({
type: "get",
async: false,
url: "http://localhost:8080/springmvc-01/checkusernamejsonp.action",
dataType: "jsonp",
data: JSON.stringify({
'username': $(this).val()
}),//不用JSON.stringify容易報錯
jsonp: "callback",//傳遞給請求處理程式或頁面的,用以獲得jsonp回調函數名的參數名(預設為:callback)
jsonpCallback: "aa",//自定義的jsonp回調函數名稱,預設為jQuery自動生成的随機函數名
success: function (data) {
var hasSame = data.result;
if (hasSame === 'true') {
$('#nametips').html('<span style="color:red">使用者名重複</span>');
} else {
$('#nametips').html('<span style="color:green">可以使用</span>');
}
},
error: function () {
alert('fail');
}
});
});
});
</script>
/**Jsonp跨域
* @param user
* @param callback
* @return
*/
@RequestMapping(value="/checkusernamejsonp")
@ResponseBody
public JSONPObject checkusernameJsonP(User user,String callback){
for (User iUser : userSet) {
if(iUser.getUsername().equalsIgnoreCase(user.getUsername())){
return new JSONPObject(callback, "{\"result\":\"true\"}");
}
}
return new JSONPObject(callback, "{\"result\":\"false\"}");
}
//傳回值任意,轉成json格式
/**ajax
* @param user
* @param model
* @return
*/
@RequestMapping(value="/checkusername")
@ResponseBody
public String checkusername(@RequestBody User user,Model model){
for (User iUser : userSet) {
if(iUser.getUsername().equalsIgnoreCase(user.getUsername())){
return "{\"result\":\"true\"}";
}
}
return "{\"result\":\"false\"}";
}
jackson三個jar包:
jackson-annotations-2.4.0.jar
jackson-core-2.4.2.jar
jackson-databind-2.4.2.jar
可以參考:http://blog.csdn.net/caiwenfeng_for_23/article/details/45300739