日期:2014-05-17  浏览次数:20486 次

求救Ajax取ashx值的问题。
html里
JScript code

       $.ajax({
            type: 'post', cache: false, dataType: 'json',
            url: 'WebHandler/User.ashx',
            data: [
                    { name: 'Action', value: 'name' }
                    ],
            success: function (result) {
                if (result !== "") {
                    alert(result);//result的结果永远是[object]
                }
            },
            error: function () {
            },
            beforeSend: function () {
            },
            complete: function () {
            }
        });


在ashx里
C# code

        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
                string terms = context.Request.Params["Action"];
                switch (terms)//得到传的值为 name
                {
                    case "id":
                        context.Response.Write(yjCookie.GetUce.Id);
                        break;
                    case "name":
                        context.Response.Write(yjCookie.GetUce.Name);//调试发现传的值为“测试用户”
                        break;
                    default:
                        context.Response.Write("");
                        break;
                }
            context.Response.End();
        }



为什么Ajax得到的传值永远是[object]?

------解决方案--------------------
你使用Json格式交互,但是你服务端输出是文本。所以转换失败,显示Object。
一、服务端序列化文本为JSon输出
二、使用文件格式交互
------解决方案--------------------
dataType:"text"
参考:http://www.w3school.com.cn/jquery/ajax_ajax.asp
------解决方案--------------------
一句话你就明白了。object是个对象