Как позвонить Просмотр с помощью вызова AJAX - PullRequest
1 голос
/ 25 октября 2011

Я хочу вызвать просмотр, используя вызов AJAX с ASP.net MVC2.0, но он не работает нормально.Это метод AJAX

$.ajax({
          type: 'POST',
          url: '../Inventoryhealth/IHView?mac=' + val + '&name=' + val2 + '#fragment-3',
          //url: '../Chart/CreateChart2?chartType=Column&a=null',
          success: function (result) {
          var res = result;
          if (res != null && res == "1")
              alert('System information can\'t be retrieved');
          }
      });

, но если я его использую, он отлично работает

location.href = "../Inventoryhealth/IHView?mac=" + val + "&name=" + val2 + "#fragment-3";

Это код вида

public ActionResult IHView(String mac, string name)
    {
          try
          {
              ViewData["PollTime"] = new ClientConfigurationService().getPollTime() * 60000;
              SystemInventoryService sis = new SystemInventoryService();
              SystemInformation systemInfo = new SystemInformation();
              systemInfo = sis.getSystemInventory(mac);
              systemInfo.ChartRefreshInterval = getInterval();
              systemInfo.OName = name;
              bool MoreCores = true;
               if (Convert.ToInt16(systemInfo.NumberOfCores) < 2)
              {
                  systemInfo.Core1UsageDetail = "0";
                  systemInfo.Core2UsageDetail = "0";
                  MoreCores = false;
              }

              Add(systemInfo.ProcessorLoadPercentage,   systemInfo.MemoryTotalVirtualMemorySize, systemInfo.MemoryFreeVirtualMemory, systemInfo.DrivesSize, systemInfo.DrivesTotalFreeSpace, MoreCores, systemInfo.Core1UsageDetail, systemInfo.Core2UsageDetail);

            var AC = new ActiveClient();
            AC.ClientMac = mac;
            if (db.ActiveClients.Count() > 0)
            {
                db.DeleteObject(db.ActiveClients.First());
            }
            db.AddToActiveClients(AC);
            db.SaveChanges();

            if (systemInfo != null)
            {
                return View(systemInfo);
            }
            else
            {
                // If Healh and status can't be retrieved                    
               // Response.Redirect("../Inventoryhealth/InventoryIndex?error=1");
                return Content("1");
            }

        }

Есть идеи?

Ответы [ 3 ]

0 голосов
/ 24 ноября 2011

Я думаю, что вместо использования Post используйте метод Get. В вызове нет опции данных, поэтому вам не нужно отправлять сообщения. Я надеюсь, что это сработает над изменением Post для получения.

0 голосов
/ 29 января 2012

Используйте $ .get jQuery вместо функции $ .ajax нижнего уровня.Вы хотите выполнить HTTP GET, а не сообщение по этой причине.

Попробуйте что-то вроде этого:

$.get('../Inventoryhealth/IHView?mac=' + val + '&name=' + val2 + '#fragment-3', function(data){
//do something on success
alert(data);
});

jQuery Get

Также.Я заметил, что у вас есть хеш в вашем URL (#).Вам нужно будет url кодировать это или он вернет 404.

0 голосов
/ 25 октября 2011

Можете ли вы попробовать удалить «..» при указании URL. Это должно работать нормально. Вы также можете использовать firebug, чтобы увидеть, что URL запрашивается с сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...