ajax使用json数据格式--无效的 JSON 基元


ajax使用json数据格式提交

一开始这么写的

        var flobj = {
            UserId: userid,
            ForbidSDT: ForbidSDT,
            ForbidEDT: ForbidEDT
        }
        $.ajax({
            type: "POST",
            url: "/Limit/Forbid",
            contentType: "application/json", //必须有  
            dataType: "json", //表示返回值类型,不必须  
            data: { Types: chk_value, fl: flobj, remark: remark, tip: tip },
            success: function (jsonResult) {
                if (jsonResult.Code == 1)
                {
                    alert("添加成功");
                    $(target).parent().parent().find("input").attr("disabled", true);
                } else {
                    alert("添加失败");
                }
            }
        });

提交的数据格式:

 

这种会报错误:

无效的 JSON 基元: Types

后来改了

        var flobj = {
            UserId: userid,
            ForbidSDT: ForbidSDT,
            ForbidEDT: ForbidEDT
        }
        $.ajax({
            type: "POST",
            url: "/Limit/Forbid",
            contentType: "application/json", //必须有  
            dataType: "json", //表示返回值类型,不必须  
            data: JSON.stringify({ Types: chk_value, fl: flobj, remark: remark, tip: tip }), 
            success: function (jsonResult) {
                if (jsonResult.Code == 1)
                {
                    alert("添加成功");
                    $(target).parent().parent().find("input").attr("disabled", true);
                } else {
                    alert("添加失败");
                }
            }
        });

提交的数据格式:

 

记录:

data必须是一个“表示JSON对象的字符串”,而不是一个“JSON”对象

原因是jquery会把JSON对象序列化成标准POST的形式,ASP.NET WebService需要的是JSON格式的数据,所以必须把你的数据变成一个JSON样子的字符串


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM