2014-10-06 3 views
0

У меня есть запрос Ajax в моем MVC 5 Razor View, который должен вызвать действие в моем контроллере, которое, в свою очередь, должно вернуть Json Data обратно в мой Razor View.MVC Razor View Ajax Call Not Working

Razor Посмотреть

$(document).ready(function() { 

    $.ajax({ 
      type: "GET", 
      contentType: 'application/json; charset=utf-8', 
      dataType: 'json', 
      //url: '@Url.Action("GetTestData")', 
      url: '/Statistics/GetTestData', 
      error: function() { 
       alert("An error occurred."); 
      }, 
      success: function (data) { 
       $.plot($("#placeholder"), dataset, options); 
      } 
     }); 

     $.plot($("#placeholder"), dataset, options); 

}); 

MVC контроллер

namespace STAR.UI.Controllers 
{ 
    public class StatisticsController : Controller 
    { 
     [HttpGet] 
     public ActionResult GetTestData() 
     { 
      return Json(new[] { new[] { 0, 5 }, new[] { 1, 10 }, new[] { 2, 15 }, new[] { 3, 20 }, new[] { 4, 25 }, new[] { 5, 30 }, new[] { 6, 35 } },JsonRequestBehavior.AllowGet); 
     } 
    } 
} 

Аякса Запрос должен вызвать GetTestData Действие в моем контроллере и возвращает данные в формате JSON. Тем не менее, я поставил точку останова в моем действии GetTestData, отлаживан, и действие никогда не вызывается, поэтому данные Json никогда не возвращаются.

Может ли кто-нибудь помочь мне узнать, почему мое действие не вызвано моим кодом Ajax.

Благодарим за любую отзыв.

+0

Считаете ли вы эту строку: url: '/ Statistics/GetTestData ")'? он должен быть url: '/ Statistics/GetTestData' – SoftSan

+0

try указать 'content-type: application/json; charset = utf-8' –

+0

@SoftSan Извинения, это была опечатка в моем вопросе. Я сейчас исправил, но все же действие не вызвано? – tgriffiths

ответ

1

вы имеете опечатку здесь: -

сделать

url: '/Statistics/GetTestData', 

вместо: -

url: '/Statistics/GetTestData")', 

плюс вам нужно указать тип данных, как показано ниже: -

dataType: 'json' 

и тип контента as ниже: -

contentType: 'application/json; charset=utf-8', 
+0

Извинения, это была опечатка в моем вопросе. Я сейчас исправил, но все же действие не вызвано? – tgriffiths

+0

вы уверены, что вы указали ref из jquery в файл @tgriffiths – Neel

+0

сначала убедитесь, что ur ajax-вызов выполняется или нет @tgriffiths – Neel