如何使用json或jquery获取double对象?

时间:2016-07-30 07:13:26

标签: jquery asp.net json

我尝试通过json或jquery ajax从web服务获取双重DataTable,如

WebService方法:

[WebMethod]
public DataSet FareAccpted_(string custId)
{
    DataSet ds = new DataSet();
    List<fareAccptedList> details = new List<fareAccptedList>();

    using (SqlConnection con = new SqlConnection("..."))

    {
        using (SqlCommand cmd = new SqlCommand("proc_FareAcceptedC", con))
        {
            cmd.CommandType = CommandType.StoredProcedure;
            cmd.Parameters.Add("@customerId", SqlDbType.Int).Value = custId;
            con.Open();
            SqlDataAdapter da = new SqlDataAdapter(cmd);
            da.Fill(ds);
        }
    }
    return ds;
}

Js页面:

$.ajax({
    type: "POST",
    contentType: "application/json; charset=utf-8",
    url: "../lpService.asmx/FareAccpted_",
    data: JSON.stringify({ custId: custId_ }),
    dataType: "json",
    success: function (data) {
        alert('Length : '+data.d.length)

    },
    error: function (result) {
        alert("FareAcceptedC" + "Error");
    }
});

DataTables存储在DataSet中。

1 个答案:

答案 0 :(得分:0)

首先,您的$ .ajax调用是错误的,特别是您通过custId_参数的方式。此外,POST调用中未使用dataType,也可以排除contentType

更改您的$ .ajax调用,您现在可以在[WebMethod]中找到一个断点:

$.ajax({
    type: "POST",
    url: "../lpService.asmx/FareAccpted_",
    data: { "custId": custId_ },
    success: function (data) {
        alert('Length : ' + data.d.length)
    },
    error: function (result) {
        alert("FareAcceptedC" + "Error");
    }
});

其次,看看你实例化SqlConnection对象的方式:

using (SqlConnection con = new SqlConnection("..."))

&#34; ...&#34;不是有效的连接字符串。您需要将连接字符串存储在Web.config文件中的SQL数据库中,如下所示:

  <connectionStrings>
    <add name="connectionString" connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=UsersDatabase;Data Source=MyServerName"/>
  </connectionStrings>

并从C#代码访问它,如下所示:

string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["connectionString"].ConnectionString;
using (SqlConnection con = new SqlConnection(connectionString))
{

}