Angular $ http.post用于保存数据

时间:2016-01-12 02:33:21

标签: angularjs json

我在我的应用中使用了角度。终于搞定了现在试图实现帖子的get。我的问题是使用$ http.post。

我的错误是ExceptionType:“System.ArgumentException” 消息:“无效的JSON原语:json。”当我不包括配置对象。

当我包含配置对象时,错误是“webmethod name is invalid”

这是代码。

        vm.createCustomer = function () {
        var customerObject = {};
        customerObject.firstName = $("#firstName").val();
        customerObject.lastName = $("#lLastName").val();
        customerObject.company = $("#company").val();

        var data = $.param({
            json: JSON.stringify(customerObject)
        });

        $http.post("DAL/WebService.asmx/InsertCustomer", data).success(function(data, status){
            toastr.options = {
                "positionClass": "toast-top-right",
            }
            toastr.success("Created");
        })
    }

的WebMethod

        [WebMethod]
    public void InsertCustomer(Customer c)
    {
        string cs = ConfigurationManager.ConnectionStrings["DBCS"].ConnectionString;
        using (SqlConnection con = new SqlConnection(cs))
        {
            SqlCommand cmd = new SqlCommand("InsertCustomer", con);
            cmd.CommandType = CommandType.StoredProcedure;

            cmd.Parameters.Add(new SqlParameter()
            {
                ParameterName = "firstName",
                Value = c.firstName
            });
            cmd.Parameters.Add(new SqlParameter()
            {
                ParameterName = "lastName",
                Value = c.lastName
            });
            cmd.Parameters.Add(new SqlParameter()
            {
                ParameterName = "company",
                Value = c.company
            });

            con.Open();
            cmd.ExecuteNonQuery();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

只花了2.5个小时来弄清楚语法

            $http.post("DAL/WebService.asmx/InsertCustomer", {c: customerObject}).then(function (customerObject, status) {
            toastr.options = {
                "positionClass": "toast-top-right",
            }
            toastr.success("Created");
        })