2012-03-15 2 views
0

Я разрабатываю веб-сайт с использованием Microsoft MVC3 и создавал его по шаблону приложения MVC3 по умолчанию. Он обращается к внешней базе данных и работает на localhost.FTP-сервер Microsoft MVC3. Протокол POST НЕ работает. GET протокол работает

Я развернул его на общий сервер, который я арендую у storminternet через инструмент публикации, используя метод ftp (storminternet еще не поддерживает развертывание в Интернете), и он работает хорошо. Он обращается к базе данных в порядке и требует, чтобы запросы работали нормально.

Однако любая форма, которая отправляется через протокол POST, возвращает страницу не найдена ошибка 404 (это касается действий, на которых я утверждал [HttpPost]).

Storm internet гарантирует, что POST и GET разрешены по умолчанию, а поскольку служба поддержки не является разработчиком, я не уверен, к кому обратиться. У меня нет отличного понимания web.config, хотя я могу читать и понимать xml и видеть, что происходит, читая и отправляя в Google. Я попытался добавить протоколы к корневому web.config, и я думаю, что я мог бы лаять неправильное дерево.

У кого-нибудь еще была эта проблема, или кто-нибудь знает, как мне помочь?

Чтобы повторить мою ошибку, мой сайт здесь ... 213.229.125.117/$sitepreview/ase-limited.com/Dev (жаль, что не голубой. Доллар получает разобран на% что-то)

и самый быстрый маршрут к запросу POST - это нажать «Добавить здание» в верхней части левой стороны, а затем нажать «Сохранить» в верхней части диалогового окна.

Любая помощь будет с благодарностью принята. Я застрял на этом в течение многих дней без везения.

С наилучшими пожеланиями Ник

СТОП-PRESS-СТОП-ПРЕСС-СТОП-ПРЕСС-СТОП-ПРЕСС-СТОП-ПРЕСС-СТОП-ПРЕСС-СТОП-PRESS-

Оказалось, чтобы быть известная проблема с sitepreview. Переключение в нужный домен отсортировало все.

+0

Я получаю ошибку 404, когда я нажимаю на вашу ссылку. –

+0

Hiya Дарин. Да, парсер изменил символ $ на код% something. Мне пришлось отредактировать ссылку. Он копирует + пасты. –

ответ

1

Я заметил, что при выполнении ваших запросов AJAX у вас есть 404 ошибок JavaScript. Например у вас есть запрос:

http://213.229.125.117/$sitepreview/ase-limited.com/BuildingManager/Employees/2 

вместо:

http://213.229.125.117/$sitepreview/ase-limited.com/Dev/BuildingManager/Employees/2 

Обратите внимание, как /Dev отсутствует. Это потому, что в ваших javascripts вы жестко закодировали свои URL-адреса, а не использовали помощников URL-адресов для их создания. Например, вы написали что-то вроде этого:

$.ajax({ 
    url: '/BuildingManager/Employees/2', 
    .... 
}); 

, который отлично работает на локальном хосте, потому что вы не имеете имя виртуального каталога, но не работает при развертывании на сервере, потому что теперь правильный путь:

$.ajax({ 
    url: '/Dev/BuildingManager/Employees/2', 
    .... 
}); 

По этой причине вы абсолютно не должны указывать такие URL-адреса.

И когда я пытаюсь отправить форму в попытках опубликовать до http://213.229.125.117/Dev/BuildingManager/SaveBuilding, который кажется очень странным, так как ему не хватает всего начала. Еще раз: никогда не печатаются URL-адреса. Всегда используйте помощники URL.

+0

Да, я усвоил эту ошибку. Я провел это утро, обернув URL-адреса в @ Url.Content («~/fghfg/hfdgh/fgh»). Я пропустил это. Как вы получили http://213.229.125.117/Dev/BuildingManager/SaveBuilding? Я получаю http://213.229.125.117/$sitepreview/ase-limited.com/Dev/BuildingManager/SaveBuilding. Я не знаю, помогает ли это, но я использую браузер Chrome. –

+0

Я использовал FireFox. Так вам удалось решить проблему? –

+0

К сожалению, нет. Я исправил этот URL-адрес в JavaScript, хотя так большое спасибо за это. Я бы пропустил это! Мои формы все еще не публикуются, и URL-адреса правильно формируются с помощью помощников. Я тоже использовал FireFox. Единственная проблема заключается в том, что он работает немного медленнее, но тогда мой ноутбук вряд ли является зверем машины. –

Смежные вопросы