2016-07-30 70 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)) 
{ 

}