出于某种原因...也许看着太多不同的例子......这是我没有得到的其中一件事。我试图在MVC应用程序中使用google maps api,然后使用JQuery从应用程序获取数据以构建地图。问题是我无法真正达到动作结果的断点(除非我手动输入网址)......
在最基本的形式中,html包含一个onload事件......
<body onload="initialize()">
反过来调用我的JQuery函数......
function initialize() {
$.GetJSON("/App/Map", MakeMap(mapdata));
}
我根据我读过的内容尝试了一系列不同方法的语法......
function initialize() {
$.GetJSON("/App/Map", null, function (mapdata) { MakeMap(mapdata); });
}
不管我做什么......我从来没有跟它一起去控制器。任何有关这方面的帮助将非常感激,因为我只是没有得到它。
此外,如果有人知道任何关于JQuery的好书会处理这类事情,欢迎提出建议,因为我认为是时候让自己成为圣诞节的早期礼物;)
编辑:我还应该补充一点,我已经尝试更改请求的URL部分,但没有运气。正在执行请求的页面是/ App / Index with设置为应用程序的主页
答案 0 :(得分:2)
您是否尝试更改jquery方法名称:
该方法被称为
getJSON()
不是GetJSON();
plus do / App / Map返回一个json字符串?
以下是getJSON上的jQuery文档:
http://api.jquery.com/jQuery.getJSON/
还尝试使用加载回调
这样做<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" ></script>
<script>
$(document).ready(function(){
/* your getJSON call underneath this comment */
alert("this should popup when the page loads");
function initialize() {
$.getJSON("/App/Map", MakeMap(mapdata));
}
initialize();
});
});
</script>
</head>
<body>
<div>hello load page</div>
</body>
</html>
答案 1 :(得分:0)
或者,您可以使用此代码:
$.get("/App/Map", null, function(data) {
MakeMap(data);
}, 'json');
此外,在ActionResult(JsonResult)中,返回值应如下所示,以便允许使用GET进行调用。
return Json(whatevermodel, JsonRequestBehavior.AllowGet)