我正在尝试将JQuery .get()发送到MVC(2 rc 2)控制器。我可以看到JS函数调用发生,然后当调用.get()时它永远不会回来。
(1)很高兴知道我做错了什么来解决眼前的问题
(2)对于如何调试这些异步请求客户端进行教育也很好...下一步将跟踪.get()触发时发生的事情?
JQuery:
function getWeather() {
var URL = "/Home/GetData/3"
$.get(URL, function (data) { $("#Result").html(data); });
}
应该使用arg'3'调用我的HomeController GetData()方法。这是我的HomeController GetData方法......我从来没有看到这里设置的断点被击中,所以无论我在方法中做什么都是无关紧要的...它没有被调用。
[HandleError]
public class HomeController : Controller
{
public ActionResult GetData(Int32 i)
{
Response.Write("<h1>data</h1>");
return null;
}
}
答案 0 :(得分:0)
使用FireBug查看是否向服务器发送了异步请求以及服务器响应了什么。同时将控制器操作更改为:
public ActionResult GetData(Int32 i)
{
return Content("<h1>data</h1>", "text/html");
}
此外,您忘了在;
javascript变量声明中添加URL
。
答案 1 :(得分:0)
您可以简化您的jQuery:
function getWeather() {
$("#Result").load(URL, "/Home/GetData/3");
}
另外,你需要修复你的GetData方法,正如Darin Dimitrov在他的回答中所说。
同时,检查您的路线以确保您有一个覆盖/ Home / GetData / 3网址的路线。