JQuery Post и получить запрос отличается на локальной интрасети и живом сервере - PullRequest
0 голосов
/ 23 апреля 2010

Я занимаюсь разработкой приложения asp.net mvc, в котором мне нужно сделать большое количество постов jquery и получить запрос на вызов методов контроллера и получить результат json. Все работает нормально.

Проблема в том, что мне пришлось написать другой пост jquery и получить URL-адрес запроса в локальной интрасети (развернутой путем создания виртуального каталога) и на живом сервере.

текущий URL-адрес jquery-запроса приведен ниже:

$. Post ("/ ProjectsChat / GetMessages", {roomId: 24}, ..........

теперь этот формат URL для jquery-запроса отлично работает для живого сервера, но не для локальной интрасети. С тех пор в локальной сети я сделал виртуальный каталог. Это работает, только когда я добавляю имя виртуального каталога, например, "$ .post (" MyProjectVirutalDirName / ProjectsChat ................... "

Я уверен, что большинство из вас, должно быть, сталкивалось с той же проблемой.

Сейчас я сделал полный проект, было сделано большое количество запросов jquery, я хочу протестировать приложение, развернув его в локальной интрасети и исправив ошибки. Изменение всех запросов jquery для локальной интрасети мне не представляется возможным решением, у меня действительно большая проблема, я не могу развернуть тот же проект на живом сервере и протестировать его там, клиент убьет меня.

Мне нужен совет специалиста.

Пожалуйста, помогите

Спасибо

Ответы [ 3 ]

0 голосов
/ 23 апреля 2010

Я бы посоветовал вам избегать жесткого кодирования URL в вашем javascript. Проблемы, с которыми вы сталкиваетесь, - одна из причин, другая - если вы решите изменить маршрут. Вот что вы могли бы сделать вместо этого. Определите глобальную переменную javascript внутри представления, которая будет содержать адрес, и она будет рассчитываться с помощью помощников html:

var messagesAddress = '<%= Url.RouteUrl(new { controller = "ProjectsChat", action = "GetMessages" }) %>';

И затем используйте эту переменную внутри вашего скрипта:

$.post(messagesAddress, { roomId: 24 },..........
0 голосов
/ 23 апреля 2010

Используйте базовый тег в заголовке вашей главной страницы и меняйте его при необходимости ...

<base href="http://site/MyProjectVirutalDirName"></base>

это быстрое исправление и означает, что вам не нужно проходить весь ваш код

0 голосов
/ 23 апреля 2010

Чтобы избежать этой проблемы, я установил и запустил множество подобных программ локально iis5.1

Предлагаю сделать то же самое для не очень маленьких проектов. Вы можете сделать свою разработку лучше и быстрее, потому что вам не нужно каждый раз запускать Visual Studio в режиме отладки, чтобы увидеть, что меняется, вы просто видите свои страницы в браузере и программируете в Visual Studio.

Если вам нужно отладить часть вашего кода, вы можете присоединиться к процессу или просто удалить эту строку кода, и ваша программа начнет отладку Debug.Assert (false);

Надеюсь, что это поможет.

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