MVC 2 на IIS 7.5, получая ошибку 404 при попытке загрузить частичные представления с помощью jquery с использованием относительного пути - работает с полным путем - PullRequest
1 голос
/ 04 августа 2010

У меня есть новый сайт MVC 2, который нормально работал на моем локальном компьютере, но при публикации на сервере IIS 7.5 возникла проблема с путем.Сайт работает хорошо, навигационные ссылки, такие как

<ul id="menu">              
      <li><%: Html.ActionLink("Home", "Index", "Home")%></li>
      <li><%: Html.ActionLink("Search", "Index", "Search")%></li>
      <li><%: Html.ActionLink("Help", "About", "Home")%></li>

, работают отлично.Однако при попытке загрузить частичное представление с помощью jQuery с помощью кода, подобного этому

<p>
    <input type="submit" value="Search Alumni Directory" onclick='loadSearchResults( )' />
</p>

<script type="text/javascript">

    function loadSearchResults(val) {

        var formData = $("#search-form").serializeArray(); // muy importante

        $('div.search-results').load('/Search/LoadResults/', formData, function () {
            $('div.search-results-pending').show().delay(1000).hide(500);
            $('div.search-instructions').hide();
            $('div.search-results').show('slow');
         });

    }

</script> 

, я получаю ошибку 404, потому что путь

http://test-alumni.indiana.edu/Search/LoadResults

вместо

http://test-alumni.indiana.edu/OnlineDirectory/Search/LoadResults

добавление '/ OnlineDirectory' к пути в моей функции загрузки решает проблему, но, похоже, я не должен это делать.Я публикую в каталог, который настроен как приложение.Есть мысли?

Ответы [ 2 ]

2 голосов
/ 04 августа 2010

Это потому, что браузер разрешает путь "/" на основе имени хоста test-alumni.indiana.edu. Если ваша страница относится к / OnlineDirectory, попробуйте ее без «/» перед «Поиск».

1 голос
/ 04 августа 2010
function loadSearchResults(val) {

    var formData = $("#search-form").serializeArray(); // muy importante
    var url = '<%: Url.Action("LoadResults,"Search")%>';
    $('div.search-results').load(url, formData, function () {
        $('div.search-results-pending').show().delay(1000).hide(500);
        $('div.search-instructions').hide();
        $('div.search-results').show('slow');
     });

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