js使用ajax传值给后台,后台返回字符串处理

来源:互联网 发布:恶搞头像软件 编辑:程序博客网 时间:2024/06/10 00:45

之前使用js获取后台生成的JSON字符串,然后给select填充值,这次需要重新获取一次。

这里的目标是,在一个input输入框里,输入一个用户名,判断是否为空,是否不存在,如果存在返回几个字段给前台,前台再绑定到其他input上

直接垒代码

HTML页面

<input type="text" id="iusername" runat="server" onblur="tbox_click()"/><input id="inadd" runat="server" type="text" /><input id="intel" runat="server" type="text" />
js

<script>        function tbox_click() {            var cc = document.getElementById("iusername").value;            var jsonob = {tbname:cc};            $.ajax({                type: "Post",                url: "tc.aspx/Tbclick",                contentType: "application/json; charset=utf-8",                dataType: "text",                data: JSON.stringify(jsonob),                success: function (data) {                    var a = eval("(" + data + ")");                    var al = a.d;                    if (al == "namenull") {                        alert("The user name does not exist. Please re-enter it(该用户名不存在,请重新输入)");                        return;                    }                    if (al == "null") {                        alert("Please input OBTUsername(请输入用户名)");                        return;                    }                    //alert(a.d);                    var myd = new Array();                    myd = a.d.split("|");                    $("#intel").val(myd[0]);                    $("#inadd").val(myd[1]);                },                error: function (e) {                    alert(e.message);                }            });        }    </script>

后台

[WebMethod]        public static string Tbclick(string tbname)        {            if (tbname.Trim() == "")            {                return "null";            }            var user = new User(tbname.Trim());//这个是根据tbname从数据库中获取信息的方法,可以自行填写            if (user.userName == null)            {                return "namenull";            }            string jsonText = user.mobile+"|"+user.address;            return jsonText;        }

这里重点说一下和之前的那个的区别,之前的有个函数,返回值是已经处理成JSON格式的字符串,这里的返回值则不是,所以在js里的处理不一样,原来的方式是

var aa = eval("(" + data.d + ")");alert(aa);

这里则是

var a = eval("(" + data + ")");alert(a.d);

此一时彼一时也,这个问题找了好久才发现。。。











原创粉丝点击