Ajax回调函数无反应及进erro问题记录。

本文深入探讨了前端Ajax回调函数中出现错误的原因及解决方法,强调了dataType设置的重要性,并分享了从后端返回字符串时dataType应设为text的经验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一:问题描述

       ajax回调函数,明明后台返回成功了,前端一直进Erro

二:问题反思

        1.前端知识体系认知的不够完善。一直做后端的我,总感觉ajax套用模版就好,普通的模版,只有success,没写erro,所以最开始一直以为回调函数没有执行。后来发现,回调函数还有erro,fail等。

         2.越是简单的东西,其实出错率越高。

 三:问题解决

          先贴一下我的前端代码:

          

   $.ajax({
                    url: '/PlanTask/PlanTaskBtnSave',
                    method: 'post',
                    data: formadate,
                    dataType: "text",  //必须是双引号的
                    success: function (res) {
                        alert(1)
                        if (res.code = '0') {
                            parent.closeIframe(res);
                        }
                        else
                            alert(res.msg);
                    },
                    error: function (res) {
                        alert(2)
                        alert(JSON.stringify(res))  //这个函数可以将res格式化后打印出来
                    }
                })
                return false;
            });

然后是后端代码:

 public ActionResult PlanTaskBtnSave(object s)
        {

            HR_PlanTask pt = new HR_PlanTask()
            {
                Type = Request["TaskSelect"],  //类型
                Name = Request["TaskName"],  //名称

                Description = Request["Taskdes"],  //说明
                CreateId = Request["waitdealId"],   //待处理人
                CreateDate = Convert.ToDateTime(Request["createdate"]), //创建日期
                DealId = Request["dealid"],     //处理人
             // DealDate = Convert.ToDateTime(Request["dealdate"]),   //处理日期
            };
            PlanTaskBLL ptb = new PlanTaskBLL();

            int SaveResult =ptb.PlanTaskSave(pt);
          
            return Content(SaveResult.ToString());  //返回string 
        }

最开始前端代码的  dataType并不等于"text",所以一直进erro,打印出来的错误代码如下:

{"readyState":4,"responseText":"adsfasdf","status":200,"statusText":"parsererror"}

经过百度后得知,如果后台返回的是简单的string,那么ajax的dataType必须为"text",否则就会报上面的错误。

真是一入前端深似海,昨天还有个小问题,保存form表单的时候,只能取到第一个元素,其他元素忘记加name选项了,我。。。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值