Как решить AJAX пост во время размещения приложения MVC 3 - PullRequest
0 голосов
/ 15 октября 2011

Я размещаю приложение MVC3 в IIS7.Приложение размещено, но сообщение ajax не работает в приложении.

Может ли кто-нибудь помочь с этим?

Заранее спасибо.

1 Ответ

1 голос
/ 15 октября 2011

Вы жестко закодировали URL в своем javascript, не так ли?

Например, вы написали:

$.ajax({
    url: '/Home/Ajax',
    success: function() {

    }
});

вместо использования помощников по URL:

$.ajax({
    url: '@Url.Action("Ajax", "Home")',
    success: function() {

    }
});

Кроме того, у вас, вероятно, есть жестко запрограммированные местоположения сценариев:

<script type="text/javascript" src="/Scripts/somscript.js"></script>

вместо использования помощников по URL:

<script type="text/javascript" src="@Url.Content("~/Scripts/somscript.js")"></script>

Теперь перейдите к своему коду и замените все URL-адреса, которые у вас есть, жестко закодированными.генерируется с помощниками.

Причина, по которой ваш код не работает, когда вы размещаете его в IIS, заключается в том, что вы размещаете свое приложение в виртуальном каталоге.Таким образом, правильный путь уже не /Home/Index, а /SomeAppName/Home/Index.Лучший способ гарантировать, что ваше приложение будет работать во всех средах, независимо от того, где оно размещено, - это всегда использовать помощники по URL.

...