前后端通过ajax传值出现乱码

│タテ│ᆵユ¦ᄌᄡ₩ラᄊ¥マヨ₩ᄊネ￯ᄐチ这个是咋回事啊

前段:

$.ajax({

type: "POST",

url: "/teacher/deleteExam",

data: "processInstanceIds="+result+"&deleteReason="+$("#deleteReason").val(),

success: function(msg){

alert(msg.data);

window.location.reload();

},

error: function(){

alert("程序出错啦!");

}

});

后端:

String deleteReason = getPara("deleteReason");

请问一下该怎么解决呢

评论区

Code_Cat

2020-03-22 13:22

这个棘手的问题,想解决起来很简单,只要把type改成GET即可,哈哈
虽然不知道为什么,可能是undertow内部原因吧

JFinal

2020-03-22 23:19

data 中的数据应该是 json ,而不是拼成一长串的字符串,并且你的数据类型也没有指定为 json :
$.ajax(url, {
type: "POST"
, dataType: "json"
, data: {
processInstanceIds: ...,
deleteReason: ...
}
});

JFinal

2020-03-22 23:19

前端搞出乱码的问题必然与 jfinal 无关,因为 jfinal 是后端框架,无法干预你在前端搞出来的事情

Code_Cat

2020-03-23 09:13

@JFinal 可是传递json数据的话,后端就不能用getPara了,必须使用getRawData才能取到值是吗

JFinal

2020-03-23 11:06

@Code_Cat 上面的 dataType 是指返回值类型,不是你提交的类理,提交的仍然是 key value 形式的表单域

fmpoffice

2020-08-18 09:14

@Code_Cat 问题解决了吗?

fmpoffice

2020-08-18 14:02

$.ajax("/permission/update", {
type: "POST", cache: false
, dataType: "json"
,contentType:'application/x-www-form-urlencoded;charset=UTF-8'
,data: {
id: id,
remark: $("#remark_"+id).val()
}
, success: function(ret) {
if (ret.state == "ok") {
show_stack_bottomright("info","更新成功!",3000);
}
}
});
用完这段吧,修改成功了!~

热门反馈

扫码入社