2013-02-21 75 views
0

这真的很奇怪,我不知道自己出错的地方。

这里是我的控制器:

namespace MvcAJAX.Controllers 
{ 
    public class HomeController : Controller 
    { 
     public ActionResult Index() 
     { 
      return View(); 
     }   

     public ActionResult Called() 
     { 
      var retObject = new { rollNo = 2, name = "Deepanjan" }; 
      return Json(retObject); 

     } 
    }  
} 

这里是我的索引视图:

@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 
<script> 
    /// <reference path="~/Scripts/jquery-1.7.1.js" /> 
    $(document).ready(function() { 
     $('#button1').click(function() { 
      $.getJSON("/Home/Called",function() { 
       alert('Working!'); 
       $('#p1').text("Roll Number was " + data.rollNo + " and the Name was " + data.name); 
      }); 
     }); 
    }); 
</script> 
<h1>This page demos Load with callback function!</h1> 
<input type="button" id="button1" value="Click Me!"/><br /> 
<p style="height:200px" id="p1"></p> 
<hr /> 

我的getJSON根本不起作用&我甚至不得到警报。怎么了?

+0

检查您的浏览器控制台是否有任何错误。你有没有检查点击事件是否被调用? – 2013-02-21 11:26:37

+1

试着用'return Json(retObject,JsonRequestBehavior.AllowGet)替换'return Json(retObject);''' – 2013-02-21 11:41:06

回答

1

你在哪里包括jQuery的文件? jquery文件首先要比你自己的JavaScript代码写得更多。

并尝试使用此代码;

$(document).ready(function() { 
    $('#button1').click(function() { 
     $.getJSON("/Home/Called", function (retObject) { 
      alert('Working!'); 
      $('#p1').text("Roll Number was " + retObject.rollNo + " and the Name was " + retObject.name); 
     }); 
    }); 
}); 

尝试替换return Json(retObject);return Json(retObject,JsonRequestBehavior.AllowGet);

1

尝试从视图中的Ajax后,像这样的

 
$.ajax({ 
url: '@Url.Action(action)', 
    data: data 
    type: 'POST', 
    success: function (result) { 

           } 
          }); 
0

***>只在你的MVC控制器功能在此线

Configuration.ProxyCreationEnabled = FALSE;