У меня вопрос по аргументу данных об успехе ajax.Есть два запроса ajax и соответствующий метод контроллера, оба из двух методов контроллера возвращают json String в функцию успеха, в ajax я установил оба типа dataType как 'json', поэтому я предполагаю, что они полностью совпадают. Но один из них возвращаеткак Json String, что означает, что я должен сначала проанализировать его для объекта, а другой - непосредственно для объекта Json. Я запутался в этом. Большое спасибо!
Я записал их в консоли, см. код. Первые три показываютajax1 и соответствующая консоль и контроллер, последние три показывают ajax2 и то же самое.
ajax
oldpassword.on("blur",function(){
$.ajax({
type:"GET",
url:path+"/sys/user/checkPass",
data:{method:"pwdmodify",oldpassword:oldpassword.val()},
dataType:"json",
success:function(data){
//this one is json object directly
console.log(data);
console.log(typeof(data));
console.log(data.result+"*****");
if(data.result == "true"){
в cotroller
resultHashMap.put("result", "true");
return JSONArray.toJSONString(resultHashMap);
в консоли
{result: "true"}result: "true"__proto__: Object
object
true*****
ajax2
$.ajax({
type:"GET",
url:path+"/sys/user/userdelete.html",
data:{method:"deluser",uid:obj.attr("userid")},
dataType:"json",
success:function(data){
//receive as Json String
console.log(data);
console.log(typeof(data));
console.log(data.result+"*****");
data = eval("(" + data + ")");
if(data.delResult == "true"){
в ролике
boolean result=userService.deleteUserById(id);
if (result) {
resultHashMap.put("delResult", "true");
return JSONArray.toJSONString(resultHashMap);
}
в консоли
{"delResult":"true"}
string
undefined*****