欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-17 09:27:19
之前使用js获取后台生成的json字符串,然后给select填充值,这次需要重新获取一次。 这里的目标是,在一个input输入框里,输入一个用户名,判断是否为空,是否不存...

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

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

直接垒代码

html页面

<code class="language-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" /></code> 

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);

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

以上这篇js使用ajax传值给后台,后台返回字符串处理方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。