2016-12-28 10 views
0
[System.Web.Services.WebMethod] 
public Array loaddata()  
string sql = "SELECT Name,Time,Inuse FROM table4";  
using (SqlConnection Connection = new SqlConnection((@"Data Source")))  
{  
    using (SqlCommand myCommand = new SqlCommand(sql, Connection))  
    {  
     Connection.Open();  
     using (SqlDataReader myReader = myCommand.ExecuteReader())  
     {  
      DataTable dt = new DataTable();  
      dt.Load(myReader);  
      Connection.Close();  
      DataView dv = new DataView(dt);  
      dv.RowFilter = (("Name='ACVX'"));  
      var tableEnumerable = dv.ToTable().AsEnumerable();  
      var tableArray = tableEnumerable.ToArray();  
      return tableArray ; 
     }  
    }  
}  

//Front End 

<html> 
<head/> 
<script> 
PageMethods.loaddata(LoadSucc, LoadFail); 
      function LoadSucc(obj) //obj is array returned from back end{obj-tablearray] 
      { 
       var goog = []; 
       goog = Object.values(obj); 
      //I want load the obj into my array goog. 
      } 

      function LoadFail() { 
       alert("Data missing"); 
      } 
script> 
<body/> 
<html> 

私のデータテーブルの内容を配列にロードし、ページメソッドを使用して配列をフロントエンドに戻したいと思います。私は何かしようとしましたが、動作しません。
こんにちは、このようなjQueryのAjaxの目的球を使用してWebメソッドを呼び出すようにしてください私にバックエンドからフロントエンドに配列を返す

+0

はクロームコンソールであなたのデバッグ機能でOBJを持っていますか?それは空ですか?ときどきデータフィールドにレスポンスをラップするので、obj.dataのようなことをする必要があります。 –

答えて

0

をいくつかのアイデアを提案する:

<html> 
<head/> 
<script> 



     $.ajax({ 
           type: "POST", 
           url: "/yourpagename.aspx/loaddata", 
           data: "", 
           contentType: "application/json; charset=utf-8", 
           dataType: "json", 
           success: function (data) { 
            var dataArray = $.map(data, function (item) { 
             return item; 
            }); 
            alert(dataArray); 
            console.log(dataArray); 
           }, 
           error: function (data) { 
            alert("ajax error " + data); 
           } 
          }); 

script> 
<body/> 
<html> 
+0

申し訳ありませんが、私はこの概念を理解できませんでした。もう一度説明してください。 – monica

+0

あなたはajaxとJquery(javascript)ではなくバックエンドサービスを呼び出そうとしています...私はあなたにお勧めします(WebMethodとWebFormsで作業したときに覚えています)、これらのWebMethodサービスをバックエンドで呼び出すことです)javascriptのフロントエンドから.. Jquery –

+0

あなたの応答をありがとう。 – monica

関連する問題