【问题标题】:Storing data Object coming from a response of jQuery ajax call存储来自 jQuery ajax 调用响应的数据对象
【发布时间】:2012-10-25 10:51:26
【问题描述】:

我正在从 asp.net 1.1 站点调用 Web 方法并得到响应。

我使用这个对象来填充一些数据,现在我想存储这个对象,这样我也可以在保存点击事件的同时将这些数据保存在数据库中。

我怎样才能做到这一点。

 $(document).ready(function () {
            $("#Ok").click(function () {
                $.ajax({
                    type: "POST",
                    url: "/Service.svc/xyz",
                    data: JSON.stringify(jData),
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: function (**msg**) {
                        // STORE THIS msg object.
                    },
                    error: function (jqXHR, textStatus, errorThrown) {
                    }
                });
            });
        });

【问题讨论】:

  • 从 /service.svc/xyz 返回什么?如果要将返回的对象保存在数据库中,可以从成功发送另一个 ajax 请求:function(data){ console.log(data); //从这里做ajax请求}
  • 不..它正在返回一个对象,其中包含许多 json 格式的信息..我必须稍后通过该对象并存储我想要的任何内容..
  • 如果是json格式的对象,你可以很容易的通过那个对象。示例:data.item、data.name 取决于您的 json 对象是否包含键:item、name。你还想要什么?
  • 现在我想将这个对象存储到一些隐藏的字段中......这样在保存表单时我可以使用这些值。
  • 我在我的答案中写了那个解决方案,检查它是否正常

标签: c# asp.net


【解决方案1】:
$(document).ready(function () {
        $("#Ok").click(function () {
            $.ajax({
                type: "POST",
                url: "/Service.svc/xyz",
                data: JSON.stringify(jData),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function(data){
                    // STORE THIS msg object.
                  //if hidden field has id 'name'
                  $('#name').val(data.name);//if json object contains a key 'name'
                  //if hidden field has class name
                  $('.name').val(data.name);
                  //if hidden field name is name <input type="text" name="name" />
                  $(document).filter(':[name=name]').val(data.name)
                  //do the same for all elements to save
                },
                error: function (jqXHR, textStatus, errorThrown) {
                }
            });
        });
    });

【讨论】:

    【解决方案2】:
    $(document).ready(function () {
                $("#Ok").click(function () {
                    $.ajax({
                        type: "POST",
                        url: "/Service.svc/xyz",
                        data: JSON.stringify(jData),
                        contentType: "application/json; charset=utf-8",
                        dataType: "json",
                        success: function(data, textStatus, jqXHR){
                            // STORE THIS msg object.
                            /* now you can store data object to where you want to store.*/
                        },
                        error: function (jqXHR, textStatus, errorThrown) {
                        }
                    });
                });
            });
    

    【讨论】:

    • 这是处理json对象的正确方法。不知道为什么它被否决
    • 我不知道为什么。我已经使用这种方法很多来处理 JSON 对象,即使 Kidz 使用相同的方法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-11
    相关资源
    最近更新 更多