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

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

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

直接垒代码

HTML页面

<input type="text" id="iusername" runat="server" οnblur="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);

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











  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值