Jquery ajax / getJSON никогда не попадает в MVC ActionResult в контроллере - PullRequest
1 голос
/ 17 декабря 2010

По какой-то причине ... может быть, я смотрю на слишком много разных примеров ... это одна из тех вещей, которые я просто не понимаю.Я пытаюсь использовать API карт Google в приложении MVC, а затем использовать JQuery для получения данных из приложения для построения карты.Проблема в том, что я не могу на самом деле добраться до точки останова результата действия (если я не наберу URL-адрес вручную) ...

В своей основной форме html включает событие onload ...

<body onload="initialize()">

, которая, в свою очередь, вызывает мою функцию JQuery ...

function initialize() {
    $.GetJSON("/App/Map", MakeMap(mapdata));
}

Я пробовал синтаксис множеством разных способов, основанных на вещах, которые я читал, как ...

function initialize() {
    $.GetJSON("/App/Map", null, function (mapdata) { MakeMap(mapdata); });
}

И что бы я ни делал ... Я никогда не добираюсь до контроллера с ним.Любая помощь с этим будет принята с благодарностью, потому что я просто не получаю ее.

Также, если кто-нибудь знает какие-нибудь хорошие книги по JQuery, которые касаются такого рода вещей, предложения приветствуются, потому что я думаю, что пришло время получить себе ранний рождественский подарок;)

РЕДАКТИРОВАТЬ: IСледует также добавить, что я попытался изменить часть запроса в URL, но безуспешно.Страница, выполняющая запрос, - это / App / Index с установленной домашней страницей приложения

Ответы [ 2 ]

2 голосов
/ 17 декабря 2010

пытались ли вы изменить имя метода jquery:

метод называется

getJSON()

не GetJSON ();

plus / App / Map возвращает строку json?

Вот документация jQuery для getJSON:

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>
0 голосов
/ 02 июля 2014

В качестве альтернативы вы можете использовать этот код:

$.get("/App/Map", null, function(data) {
                    MakeMap(data);
                    }, 'json'); 

Кроме того, в ActionResult (JsonResult) возвращаемое значение должно быть примерно таким, чтобы разрешать вызовы с использованием GET.*

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...