关于ajax链接前端后台的一些问题

比如说我有一个简易的信息填写的前端如图
图片说明
现在想用ajax对后台进行传值,并且根据后台的返回值的情况显示不同的信息。例如

     function checkselect(){
        $.ajax({
            type:'post',
            url:'UploadImageServlet',
            data:{username:Username,password:Password......},
            async:false,
            datatype:'json',
                ???????

后台将接受到的值传入数据库,这部分没问题,假设前端根据后台返回的值要显示“修改成功”或者“账号和原密码不匹配,请重新输入”,前端问号处应该怎么写?后台的返回值应该怎么写?

7个回答

   //Ajax调用处理
            $.ajax({
               type: "POST",
               url: "test.php",
               data: "name=garfield&age=18",
               success: function(data){
                        $("#myDiv").html('<h2>'+data+'</h2>');
                  }
            });

success 部分就是调用回调函数,data就是返回值。返回值可以解析多种格式,比如json、字符串 。服务端返回值格式根据需求自己定义
比如定义成 json格式 :

 {
"status" : 0 ,          //执行状态码 0失败  1成功
"msg"    : "SUCCESS",   //说明文字信息  如:用户名不存在
"data"   :[{            //对象中嵌套数组,数组是返回的数据, 返回用户 id 姓名
"id"    : 1 ,
"name"  : "xiaohong"
}

ajax可以配置:dataType 属性
类型:String
预期服务器返回的数据类型。如果不指定,jQuery 将自动根据 HTTP 包 MIME 信息来智能判断,比如 XML MIME 类型就被识别为 XML。在 1.4 中,JSON 就会生成一个 JavaScript 对象,而 script 则会执行这个脚本。随后服务器端返回的数据会根据这个值解析后,传递给回调函数。可用值:
"xml": 返回 XML 文档,可用 jQuery 处理。
"html": 返回纯文本 HTML 信息;包含的 script 标签会在插入 dom 时执行。
"script": 返回纯文本 JavaScript 代码。不会自动缓存结果。除非设置了 "cache" 参数。注意:在远程请求时(不在同一个域下),所有 POST 请求都将转为 GET 请求。(因为将使用 DOM 的 script标签来加载)
"json": 返回 JSON 数据 。
"jsonp": JSONP 格式。使用 JSONP 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。
"text": 返回纯文本字符串

govdoo
govdoo 回复govdoo: 此处的 不同格式 指的是 字符串的 格式标准。服务端输出的 都是 字符串
接近 2 年之前 回复
govdoo
govdoo 如果 不需要返回 除了提示信息之外的 数据,可以直接返回 string 。不过建议 返回常用的 json格式,养成好习惯 {"message":"密码错误"}
接近 2 年之前 回复

写个成功的回调函数就行了啊

function checkselect(){
$.ajax({
type:'post',
url:'UploadImageServlet',
data:{username:Username,password:Password......},
async:false,
datatype:'json',
success:function(result){
var obj = eval('(' + result + ')');

alert( obj);
}

qq_23126581
渊渟无迹静涛君 后台你就返回String类型。
接近 2 年之前 回复

问号处:

success:function(data) {
                if(data==1){
                    alert('修改成功'});
                }else if(data == 0){
                    alert('修改失败');
                }else{
                                    alert('未知错误');
                                }
            }

后台返回值:后台返回值用Integer

Lei_Da_Gou
Lei_Da_Gou PrintWriter out = response.getWriter(); out.print(1);
接近 2 年之前 回复
Lei_Da_Gou
Lei_Da_Gou 你用的HttpServlet吗?
接近 2 年之前 回复
t1441332354
t1441332354 非常感谢您的建议,另外想问问后台返回值为Integer的格式是什么?
接近 2 年之前 回复

function checkselect(){
$.ajax({
type:'post',
url:'UploadImageServlet',
data:{username:Username,password:Password......},
async:false,
datatype:'json',
success:function(result){
var obj = eval('(' + result + ')');

alert( obj);
}

$.ajax({
type: "POST",
url: "test.php",
data: "name=garfield&age=18",
success: function(data){
判断后台传回的data里面携带的判断值,如果成功就显示成功,失败就显示失败
}
});

写个回调函数,获取标签对象,对该对象中的内容进行修改就行了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐