2014-12-14 4 views
0

jquery를 사용하여 뷰에서 컨트롤러로 호출하려고합니다. 그러나 결코 컨트롤러를 호출하지 않습니다.JQuery가 asp.net MVC 컨트롤러를 호출하지 않습니다.

asp.net MVC 4 응용 프로그램에 Umbraco 7.1.2 웹 사이트가 있습니다.

내 JS가

var dp = jQuery; 
dp.noConflict(); 
dp(document).ready(function() { 
    GetTestimonials(); 
}); 

function GetTestimonials() { 
    dp.ajax({ 
     type: 'GET', 
     url: '/Home/GetTestimonialsList', 
     cache: false, 
     success: function (data) { 
      dp.each(data, function (index, val) { 
       alert(val.Name + val.Comment + val.Date); 
      }); 
     }, 
     error: function() { 
      alert("error"); 
     } 
    }); 
} 

그리고 내 컨트롤러

[HttpGet] 
public JsonResult GetTestimonialsList() 
{ 
    var model = _spdb.TestimonialDetails.Where(t => t.Status == Enums.TestimonialsStatus.approved).Select(t => new { t.Comment, t.Name, t.Date}); 
    return Json(model, JsonRequestBehavior.AllowGet); 
} 

내가 컨트롤러에 중단 점을 넣어, 그것은 결코 호출되지되었다.

브라우저에서 jquery 오류가 발생하지 않았습니다.

그러나 항상 경고 ("오류")를 유발합니다. 페이지가로드 될 때

내가 console.log ("test")라고 불렀습니다. 브라우저 디버그에 표시됩니다.

같은 페이지에서 jquery를 사용하여 컨트롤러에 양식 게시를하고 있는데 문제가 전혀 없습니다.

db의 쿼리는 데이터를 올바르게 제공합니다.

내가 뭘 잘못하고 있니?

고마워요.

답변

0

시도해보십시오. 당신은 IQuerable을 돌려주고 있습니다.

[HttpGet] 
public JsonResult GetTestimonialsList() 
{ 
    var model = _spdb.TestimonialDetails.Where(t => t.Status == Enums.TestimonialsStatus.approved).Select(t => new { t.Comment, t.Name, t.Date}).ToList(); 
    return Json(model, JsonRequestBehavior.AllowGet); 
} 
1

좋아, 해결책을 찾았습니다. URL을 url: '/umbraco/surface/home/GetTestimonialsList'으로 변경하여 정상적으로 작동합니다.

관련 문제