2017-10-25 5 views
0

WebサービスがJSON文字列を返し、JSOn文字列をMASTERPage.masterにアクセスしようとしています。どうすればよいですか? "GetJson()"メソッドは、JSOn文字列を返します。私はそのJSON文字列を表示しようとしていますが、失敗しました。 MasterPage.MAsterに問題はありますか?マスターページでajaxを呼び出すことはできますか?JSON文字列を取得する方法とAJAXを使用して表示する

Webサービスメソッド:Masterpage.master

<WebMethod()> _ 
Public Function MasterMenu() As String 

    ' Dim dt As New DataTable("MenuMaster") 

    Dim dt As New DataTable() 
    Dim Query As String = "SELECT ID, MENU_NAME FROM SMT_MENU_MASTER order by menu_name" 
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString 
    Using con As New SqlConnection(constr) 
     Using cmd As New SqlCommand(Query) 
      Using sda As New SqlDataAdapter() 
       cmd.CommandType = CommandType.Text 
       cmd.Connection = con 
       sda.SelectCommand = cmd 
       sda.Fill(dt) 
      End Using 
     End Using 

     Dim sData As String = GetJson(dt) 

     Return sData 





    End Using 



End Function 

のAjaxメソッド

$(document).ready(function() { 
       $.ajax({ 

        type: "POST", 
        url: 'Menu.asmx/MasterMenu', 
        data: "{}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (response) { 
         alert("i am in"); 
         alert(response.d); 
        }, error: function (response) { 
         alert("Failed to load data"); 

        } 

       }); 
      }); 

答えて

0
  $(document).ready(function() { 
      $.ajax({ 

       type: "POST", 
       url: 'Menu.asmx/MasterMenu', 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (data) { 
        alert("i am in"); 
        alert(data.sData); 
       }, error: function (response) { 
        alert("Failed to load data"); 

       } 

      }); 
     }); 

完全なJSONとその構造を確認するために使用。 console.log(data);

+0

私が試したが、そのマスターページ –

+0

トライエラーでデータの読み込みに失敗しました:機能(jqXHR 、textStatus、errorThrown){ \t \t \t \t \t \t \t alert(jqXHR.responseText); \t \t \t \t \t \t}何もコンソール – Tejendra

+0

に印刷されていない場合、ページ –

0

あなたのWebMethod属性は、私が

<WebService(Namespace:="http://tempuri.org/")> _ 
    <WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)> _ 
    <Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ 
    <System.Web.Script.Services.ScriptService()> _ 

を追加し、また、インポートリファレンスDLL持つWebサービスに問題がある共有

<WebMethod()> _ 
Public Shared Function MasterMenu() As String 

    ' Dim dt As New DataTable("MenuMaster") 

    Dim dt As New DataTable() 
    Dim Query As String = "SELECT ID, MENU_NAME FROM SMT_MENU_MASTER order by menu_name" 
    Dim constr As String = ConfigurationManager.ConnectionStrings("constr").ConnectionString 
    Using con As New SqlConnection(constr) 
     Using cmd As New SqlCommand(Query) 
      Using sda As New SqlDataAdapter() 
       cmd.CommandType = CommandType.Text 
       cmd.Connection = con 
       sda.SelectCommand = cmd 
       sda.Fill(dt) 
      End Using 
     End Using 

     Dim sData As String = GetJson(dt) 

     Return sData 

    End Using 

End Function 

$(document).ready(function() { 
      $.ajax({ 

       type: "POST", 
       url: 'Menu.asmx/MasterMenu', 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (data) { 
        console.log(data); 
        alert(data); 
       }, error: function (response) { 
        alert("Failed to load data"); 

       } 

      }); 
     }); 
+0

に呼ばれる[スクリプトサービス]属性でそのショーのみのWebサービス私は共有するが、その同じAJAXにWebMethod属性を作るJSONを取得するには、あなたが直面しているどのようなエラーを取得します呼び出し失敗と表示メッセージがデータをロードできませんでした –

+0

@SunnyRaval:ブラウザコンソールエラーを表示してください。 –

+0

リソースの読み込みに失敗しました:サーバがステータス500(内部サーバエラー)で応答しました。 –

0

でなければなりません。今の問題は、私はマスターページ上にデータをアヤックスを使用してWebサービスを呼び出して取得することができます解決され

DLL:

Imports Newtonsoft.Json

関連する問題