2016-07-30 53 views
1

我尝试了通过JSON或jQuery的Ajax获得来自web服务双数据表像如何使用json或jquery获得双重对象?

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"); 
    } 
}); 

在DataSet中的DataTable商店。

+2

你试过和......发生了什么?请添加更多的细节。有什么问题?服务是做什么的?你想达到什么目的? –

+0

嗨萨米,thanx您的宝贵回应,我再次妥善编辑我的问题,你可以看到并帮助我,Thanx提前:) –

回答

0

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

更改$就这样调用,现在你就可以打了[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("...")) 

“......”不是string.You需要在连接字符串存储到您的SQL数据库在Web.config文件中像这样一个有效的连接:

<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)) 
{ 

}