Почему URL JScript работает иначе в VS, чем при публикации

0

У меня есть это, что работает в Visual Studio. Это не работает, когда опубликовано:

$.ajax({
        url: "Order/EditLineItem",
        data: { id: dataItem.id },
        dataType: 'html',
        success: function (data) {
            $('#content').html(data); // 
        }

Это, с другой стороны, работает при публикации, но не в Visual Studio:

$.ajax({
        url: "/PropertySearch/Order/EditLineItem",
        data: { id: dataItem.id },
        dataType: 'html',
        success: function (data) {
            $('#content').html(data); // 
        }

Единственное различие заключается в добавлении имени сайта "PropertySearch" в начале URL-адреса.

Есть ли способ написать это, чтобы он работал в обоих?

Это текущий маршрут:

 routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Order", action = "Start", id = UrlParameter.Optional }
        );
  • 1
    Да, убедитесь, что ваша среда разработки имеет ту же структуру корневых / подпапок, что и ваша производственная среда. Тот факт, что это не работает, говорит о том, что страница, выполняющая запросы ajax, при публикации находится в другой папке, чем когда вы работаете в visual studio относительно сценария EditLineItem.
  • 0
    Да, ты прав. После публикации приложение запускается в своей собственной папке на сервере. Когда в VS нет такой подпапки. Я не могу изменить опубликованное местоположение, так есть ли способ настроить VS для запуска из подпапки?
Показать ещё 2 комментария
Теги:
visual-studio-2012

1 ответ

1
Лучший ответ

Ответ здесь:

  1. Перейдите на страницу свойств проекта.

  2. Веб-вкладка

  3. Найдите "Виртуальный путь:" и введите имя сайта.

Затем, когда вы запустите в VS, вы увидите виртуальный путь в адресной строке браузера, добавленный к корню.

Работает на меня.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню