2015-10-05 5 views
2

У меня есть метод webstatic, который преобразует мой набор данных в json, и я хочу, чтобы json в моем javascript-файле, но я ничего не получаю в своем div здесь. Что я делаю неправильно здесь, так как я новичок в asp.net и json. Простой задачей, которую я должен выполнить здесь, является получение моего json из кода за файлом в javascript.Получите json от кода за файлом в asp.net до javascript

<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" runat="server"> 
    </asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
    <ContentTemplate> 
    <div id="Result">Click here for the time.</div> 
    <script type="text/javascript"> 
     $(document).ready(function() { 
      $("#Result").click(function() { 
       $.ajax({ 
        type: "POST", 
        url: "A2_JVV.aspx/ds2json", 
        data: "{}", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (msg) { 
         $("#Result").text(msg.d); 
        } 

       }); 
      }); 
     }); 

    </script> 

в моей странице A2_JVV.aspx.cs меня использовать Newton JSON, чтобы преобразовать свой набор данных в формате JSON

[WebMethod] 
    public static string ds2json() 
    { 
     DataSet ds = new DataSet(); 
     ds=(DataSet)HttpContext.Current.Session["dsgrr"]; 
     return JsonConvert.SerializeObject(ds.Tables["jv"], Formatting.Indented); 
    } 

Chrome консоли ошибок

POST http://localhost:49388/WebSite2/A2_JVV.aspx/ds2json 500 (Internal Server Error) 
c.extend.ajax @ jquery-1.4.2.min.js:130(anonymous function) 
@ A2_JVV.aspx:207c.event.handle 
@ jquery-1.4.2.min.js:55c.event.add.j.handle.o 
@ jquery-1.4.2.min.js:49 
+0

вы получаете на вкладке Network { "d": NULL} в хромированной консоли? –

+0

Попробуйте проверить эту строку: ds = (DataSet) HttpContext.Current.Session ["dsgrr"]. Там что-то не так. –

+0

положить точку останова в свой веб-метод ... Посмотрите, есть ли там какая-то ошибка? – Taleeb

ответ

0

Попробуйте это. Вы не называете правильный метод.

$.ajax({ 
        type: "POST", 
        url: "A2_JVV.aspx/ds2json", 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (msg) { 
         var result = $.JSON(msg); 
         $("#Result").text(result.d); 
        } 

       }); 
+0

@meraname Вы получаете ошибки javascript? И что такое msg.d? «d» поле в json-ответе? – prashant

+0

Я не получаю ошибок, текст div остается таким же, как и он. – meraname

0

Попробуйте это, вам нужно добавить "/" в первой из URL:

url: "/A2_JVV.aspx/ds2json" 
+0

Нет, он будет работать без этого. – meraname

+0

Внутренняя ошибка в функции ds2json, вам нужно отладить код, чтобы узнать, что такое ошибка. –

+0

Есть еще одна вещь, можете ли вы переместить скрипт за панель обновления, вы можете поместить ее в заголовок или после тела. –

Смежные вопросы