看懂下面就会了,否则
Jquery ajax 得到返回值
1.ajax默认是异步调用的,所以得到的返回值是空值,要得到值必须改成同步:async: false,//同步。
2.必须定义一个全局变量 var result = ""来保存返回值。否则得到的是undefined
function GetReturnValue(url, jsonText) { 
           var result = ""; 
           $.ajax({ 
               type: "POST", 
               url: url, 
               data: jsonText, 
               contentType: "application/json;charset=utf-8", 
               dataType: "json", 
               async: false,//同步 
               success: function (json) { 
                   result = eval('(' + json.d + ')'); 
               }, failure: function () { 
                   result = ""; 
               } 
           }) 
           return result; 
       }  

解决方案 »

  1.   

    你可以返回JOSN;或者直接用string返回,但你要把数据组合起来,然后进行string 拆分
      

  2.   


    感谢,请问,我是C#后台,如果是要返回json数据,是不是在后台还要对数据进行处理?处理后得到一个json格式的字符串,然后response.write?还有在前台接收到了json数据result后,具体怎么使用呢,不好意思,新手,问题比较多
      

  3.   

    是的你后台不管返回什么数据都要打包成json格式这样是现在系统常用的传递方式。比如返回字符串OK也得打包成如[{"reslut","ok"}]格式返回。
    前台接受到json数据后,可以按照数组的方式处理看懂下面即可
    //var json=result;
    var json = [{"reslut","ok"},{"other","aaa"}];
    for(var i=0,len=json.length;i<len;i++){
    for(var p in json[i]){
    alert(json[i][p]);
    }
    }
      

  4.   

    AJAX请求页面 tagmanagement.aspx      <script type="text/javascript" language="javascript">
            $(document).ready(function() {
                $("#btn_search").click(function() {
                    $.ajax({
                        url: "processpage.aspx",
                        type: "POST",
                        dataType: "json",
                        data: "txt_search=" + escape($("#txt_search").val()),
                        success: function(data) {
                            alert(data[0].tag_name+"---"+data[0].count);
                        },
                        error: function() { alert("O No~~~"); }
                    });
                });
            });
        </script>       Ajax响应处理页面 processpage.aspx.cs      using System.Web.Script.Serialization;
    using ModelGroup.Model;public partial class Admin_ProcessPage : System.Web.UI.Page
    {
        JavaScriptSerializer serializer = new JavaScriptSerializer();
        protected void Page_Load(object sender, EventArgs e)
        {
            string name = Request["txt_search"].ToString();
            if (name.Equals("aaa")) {
                List<zen_tag> zentag = new List<zen_tag>();
                zentag.Add(new zen_tag { 
                    tag_id = 1,
                    tag_name = "Nicholas",
                    url_show = "Nicholas",
                    first_letter = "N",
                    count = 500,
                    create_time = "2009-10-10 10:10"
                });
                string jsonStr = serializer.Serialize(zentag);
                Response.Clear();
                Response.Write(jsonStr);
                Response.End();
            }
        }
    }