2010-08-24 4 views
0

я есть Ajax запрос на URL-адрес DataProcessor.aspx, как показано ниже, как я могу написать asp.net C# код для извлечения JSON данных из запроса и отображения в DataProcessor.aspx страницеAjax метод JQuery сообщение

var json = "{'ItemName':'" + escape(item.val()) + "','CategoryID':'" + category.val() + "','RecordID':'" + record.val() + "'}"; 
      alert(escape(item.val())); 
      alert(category.val()); 
      alert(record.val()); 
      var ajaxPage = "DataProcessor.aspx?Save=1"; //this page is where data is to be retrieved and processed 
      var options = { 
       type: "POST", 
       url: ajaxPage, 
       data: json, 
       contentType: "application/json;charset=utf-8", 
       dataType: "json", 
       async: false, 
       success: function(response) { 
        //alert("success: " + response); 
       }, 
       error: function(msg) { alert("failed: " + msg); } 
      }; 

      //execute the ajax call and get a response 
      var returnText = $.ajax(options).responseText; 
      if (returnText == 1) { 

       record.html(returnText); 
       $("#divMsg").html("<font color=blue>Record saved successfully.</font>"); 
      } 
      else { 
       record.html(returnText); 
       $("#divMsg").html("<font color=red>Record not saved successfully.</font>"); 


      } 
     }); 
    }); 
+1

См. Http://stackoverflow.com/questions/423294/best-way-to-parse-json-data-into-a-asp-net-object для обсуждения синтаксического анализа данных JSON в .NET-объектах. –

ответ

2

Вместо того чтобы публиковать json и анализировать его вручную, другим вариантом будет создание службы сценария и использование этой службы. Преимущество этого заключается в том, что он имеет меньший вес (вам не нужно проходить весь жизненный цикл страницы aspx) и давайте .Net сделаем тяжелый подъем для разбора json в объект.

В принципе вам просто нужно создать простой веб-метод, который принимает два аргумента: ItemName, CategoryID, RecordID. Примените декодер службы сценариев или метод, чтобы позволить .Net знать, что вы хотите взаимодействовать с ним через JSON POST, и изменить адрес своего сообщения на «YourWebService.asmx/YourWebMethodName»

Чтобы обрабатывать обновления на дисплее, создайте объект для возврата из вашей функции, который содержит данные, которые вы хотите обновить на странице, и верните их. Обработайте возвращаемое значение (аргумент «ответ» в вашей функции выше) в случае успеха вашего вызова AJAX и соответствующим образом обновите отображение (не зная больше о том, как или что вы хотите обновить, я не могу больше помочь в дальнейшем).

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