Himaan Singh Ответов: 2

Ajax вызов отправка нулевого значения контроллеру правильно ли я отправляю значения ?


я вижу в отладчике, что данные хранятся в массивах, но когда я посылаю данные контроллеру, obj равен нулю, может кто-то подсказывает, где я ошибаюсь ?

Что я уже пробовал:

     my model: 

        public class Hello
    {
        public List<string> name;
        public List<string> phone;
        public List<string> contact;
    
    }

my controller code is 
        
      public ActionResult Home(Hello obj) // obj is coming out to be null
        {
                 
        }


my script is 

         var names =[];
         var phones =[];
         var contacts = [];
           
         // some code to fill the arrays 

        var obj = JSON.stringify({
                name: names,
                phone: phones,
                contact: contacts,
              });
            debugger;
            $.ajax({
                cache: false,
                url: 'Home',
                data: { obj:obj },
                success: function (data) {
                    var response = JSON.parse(data);
                    window.location = 'Download?fileGuid=' + response.FileGuid
                                      + '&filename=' + response.FileName;
                }
            })

2 Ответов

Рейтинг:
2

Karthik_Mahalingam

попробовать это

public ActionResult Home(string obj)
     {
         JavaScriptSerializer js = new JavaScriptSerializer();
         Hello objHello = js.Deserialize<Hello>(obj);
     }


добавьте эту ссылку
using System.Web.Script.Serialization 


Рейтинг:
0

Richard Deeming

Попробуйте переместить JSON.stringify вызов:

var obj = {
    name: names,
    phone: phones,
    contact: contacts,
});

$.ajax({
    cache: false,
    url: 'Home',
    data: JSON.stringify({ obj:obj }),
...