ajax jquery post方法

时间:2010-08-24 09:37:27

标签: asp.net json jquery

我有url DataProcessor.aspx的ajax请求,如下所示,如何编写asp.net c#代码从请求中提取json数据并在DataProcessor.aspx页面中显示

var json = "{'ItemName':'" + escape(item.val()) + "','CategoryID':'" + category.val() + "','RecordID':'" + record.val() + "'}";
            alert(escape(item.val()));
            alert(category.val());
            alert(record.val());
            var ajaxPage = "DataProcessor.aspx?Save=1"; //this page is where data is to be retrieved and processed
            var options = {
                type: "POST",
                url: ajaxPage, 
                data: json,
                contentType: "application/json;charset=utf-8",
                dataType: "json",
                async: false,
                success: function(response) {
                    //alert("success: " + response);
                },
                error: function(msg) { alert("failed: " + msg); }
            };

            //execute the ajax call and get a response
            var returnText = $.ajax(options).responseText;
            if (returnText == 1) {

                record.html(returnText);
                $("#divMsg").html("<font color=blue>Record saved successfully.</font>");
            }
            else {
                record.html(returnText);
                $("#divMsg").html("<font color=red>Record not saved successfully.</font>");


            }
        });
    });

1 个答案:

答案 0 :(得分:2)

不是发布json并手动解析它,而是另一种选择是创建脚本服务并使用该服务。这样做的好处是重量更轻(你不必经历整个aspx页面生命周期),并让.Net为将json解析成一个对象而做繁重的工作。

基本上你只需要创建一个简单的Web方法,它接受两个参数,ItemName,CategoryID,RecordID。应用脚本服务装饰器或方法让.Net知道您想通过JSON POST与它进行交互,并将帖子的地址更改为“YourWebService.asmx / YourWebMethodName”

要处理对显示的更新,请创建一个对象,以便从包含要在页面上更新的数据的函数返回并返回该对象。在AJAX调用的成功案例中处理返回值(上面函数中的'response'参数)并相应地更新显示(不知道更多关于如何或要更新的内容,我无法真正帮助进一步)。