Задаваемые 9 лет, 11 месяцев
Мой первый веб-сайт Azure — это простой тестовый сайт, который у меня был некоторое время назад, и который выполняет ajax-обратные вызовы на сервер для получения данных JSON. Все файлы данных имеют расширения. json. Azure не увидит эти файлы. Если я изменю расширение на. txt, они будут работать нормально.
Должен ли я возиться с IIS, чтобы увидеть этот. json?
Итак, позвольте мне попытаться перечислить различные варианты использования и решения для каждого из них:
В приложении asp. net mvc у меня есть метод, который возвращает JsonResult в представление. Он отлично работает на моем локальном компьютере, однако, когда приложение развертывается на сервере веб-хостинга, когда я пытаюсь получить эти данные, нажимая ссылку на представление, я получаю сообщение 404 Not Found in Firebug. Есть ли кто-нибудь, кто знает возможную причину, по которой это могло происходить? Мои фрагменты кода того, как я генерирую путь, приведены ниже:
Маршрутизация global. asax ниже:
Метод getcountrydata выглядит следующим образом:
- OlegK
Russian Joomla! Team
Команда форума
⇒ Профи ⇐Регистрация:
17.01.2011Сообщения:
7 813Симпатии:
768Пол:
МужскойАналогично- к хостеру . Или смотри в настройках панели хостинга, может есть опции включения функций PHP
- OlegK
Russian Joomla! Team
Команда форума
⇒ Профи ⇐Регистрация:17.01.2011Сообщения:7 813Симпатии:768Пол:Мужской
Можешь проверить отправку писем без Джумла. Создай файл в корне сайта с кодом и запусти ” Привет от сайта” “Email has been sent .” “Failed sending message ”
Последнее редактирование:
- ” Привет от сайта”
- “Email has been sent .”
- “Failed sending message “
- Flat
Недавно здесь
Регистрация:
03.12.2020Сообщения:
12Симпатии:
0Пол:
МужскойParse error: syntax error, unexpected ‘,’ in /home/flat/domains/esial.ru/public_html/1.php on line 2
- Flat
Недавно здесь
Регистрация:03.12.2020Сообщения:12Симпатии:0Пол:Мужской
Неудачная отправка сообщенияЗначит проблемма с хостингом.
спасибо за помощь - OlegK
Russian Joomla! Team
Команда форума
⇒ Профи ⇐Регистрация:
17.01.2011Сообщения:
7 813Симпатии:
768Пол:
МужскойНу если ты давно не занимался сайтами, то наверно хостер и отключил отправку писем, чтобы не спамили.
Советую проверить сайты на вирус/шелл и обновить до актуальных версий Джумла и расширения . - OlegK
Russian Joomla! Team
Команда форума
⇒ Профи ⇐Регистрация:
17.01.2011Сообщения:
7 813Симпатии:
768Пол:
МужскойВключи в админке показ ошибок Джумла на уровень для разработчиков и проверь включение POST на хостинге
- Flat
Недавно здесь
Регистрация:
03.12.2020Сообщения:
12Симпатии:
0Пол:
МужскойПо Post включения нет. Есть
Post_max_size
Устанавливает максимально допустимый размер данных, отправляемых методом POST.
Max_input_time
Эта директива задает максимальное время в секундах, в течение которого скрипт должен разобрать все входные данные, переданные запросами вроде POST или GET.включил для разработчиков добавилось
Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentJw_allvideos has a deprecated constructor in /home/flat/domains/eseal.ru/public_html/plugins/content/jw_allvideos/jw_allvideos.php on line 18Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; plgContentJComments has a deprecated constructor in /home/flat/domains/eseal.ru/public_html/plugins/content/jcomments/jcomments.php on line 25но это как я понимаю к делу не относится.С низу где раздел запросы к базе данных
6 повторяющийся запрос!
3 повторов: #4 #8 #31
3 повторов: #5 #9 #32гдето красным в запросах индекс не ипользуется. - OlegK
Russian Joomla! Team
Команда форума
⇒ Профи ⇐Регистрация:
17.01.2011Сообщения:
7 813Симпатии:
768Пол:
МужскойЭто вопрос к хостеру, может быть запрет на передачу данных, отправляемых методом POST.
- Flat
Недавно здесь
Регистрация:
03.12.2020Сообщения:
12Симпатии:
0Пол:
Мужскойнав втором сайте, на этом же хостинге, и даже на том же аккаунте все настроилось )
- Flat
Недавно здесь
Регистрация:
03.12.2020Сообщения:
12Симпатии:
0Пол:
Мужскойспасибо. помогло . все работает
- OlegK
Russian Joomla! Team
Команда форума
⇒ Профи ⇐Регистрация:
17.01.2011Сообщения:
7 813Симпатии:
768Пол:
МужскойНо задуматься нужно , почему файлы были испорчены , . И вероятнее всего это взлом .
- Flat
Недавно здесь
Регистрация:
03.12.2020Сообщения:
12Симпатии:
0Пол:
Мужскойспам шел с него. Скорее всего взлом. все обновил, пароли сменил.
Поделиться этой страницей
Для моих узких целей это было нормально, и я надеюсь, что это может сэкономить кому-то время, пытаясь понять это.
ответ дан 14 апр.
«Если вы загрузите файл. json на свой веб-сайт Windows Azure и попытаетесь получить к нему доступ, это приведет к ошибке 404 File Not Found, поскольку тип MIME для. json не установлен по умолчанию. Это также относится к любому файл, которому может потребоваться определенный тип MIME.
Чтобы решить эту проблему, зайдите на свой веб-сайт по FTP и загрузите следующий файл Web. config, в котором будут установлены правильные типы MIME. Если у вас уже есть файл Web. config, просто добавьте его в соответствующий раздел.
Я сделал это, и 404 исчез.
Создан 08 июля ’14, 14:07
Похоже, что Azure (по крайней мере, облачные службы) знает, как обслуживать JSON из развернутого проекта ASP. NET MVC. Проблема в моем случае заключалась в том, что действие сборки на странице свойств файла JSON было задано неправильно. Изменение действия сборки на содержимое исправило это для меня.
Создан 30 сен.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
json
azure
or задайте свой вопрос.
Код ошибки (500, 404,
Наиболее распространенный вариант использования, когда вы хотите вернуть код состояния, отличный от 200 OK это когда возникает ошибка.
- объект запрошен, но не существует (404)
- запрос семантически неверен (400)
- пользователь не авторизован (401)
- есть проблема с подключением к базе данных (500)
- и т.д..
А) Выбросить исключение
В этом случае я думаю, что самый простой способ справиться с проблемой – это создать исключение. Это исключение будет обрабатываться ExceptionMapper, который преобразует исключение в ответ с соответствующим кодом ошибки.
Вы можете использовать значение по умолчанию ExceptionMapper который поставляется предварительно настроенным с Джерси (и я думаю, что то же самое и с другими реализациями), и выбрасывает любой из существующих подклассов javax. WebApplicationException. Это предварительно определенные типы исключений, которые предварительно сопоставлены с различными кодами ошибок, например:
- Бадрекуестексцептион (400)
- Исключение InternalServerErrorException (500)
- Нотфаундексцептион (404)
И т. Вы можете найти список здесь: API (Программный интерфейс приложения)
Примечание: вы также можете написать ExceptionMappers для существующих типов исключений, которые вы используете.
Б) Используйте конструктор ответов
Другой способ установить код состояния – использовать Response Builder для создания ответа с предполагаемым кодом.
В этом случае возвращаемый тип вашего метода должен быть javax. core. Response. Это описано в различных других ответах, таких как принятый ответ hisdrewness, и выглядит так:
Успех, но не 200
Другой случай, когда вы хотите установить статус возврата, – это когда операция была успешной, но вы хотите вернуть код успеха, отличный от 200, вместе с содержимым, которое вы возвращаете в теле.
Частый вариант использования – когда вы создаете новую сущность (POST запрос) и хотите вернуть информацию об этом новом объекте или, возможно, о самом объекте вместе с 201 Created код состояния.
Один из подходов – использовать объект ответа, как описано выше, и самостоятельно задать тело запроса. Однако при этом вы теряете возможность использовать автоматическую сериализацию в XML или JSON, предоставляемую JAXB.
Это исходный метод, возвращающий объект сущности, который будет сериализован в JSON с помощью JAXB:
Это вернет JSON-представление вновь созданного пользователя, но статус возврата будет 200, а не 201.
А) Установите код в ответ сервлета
Один из подходов к решению этой проблемы – получить объект запроса сервлета и самостоятельно вручную установить код ответа, как показано в ответе Гаретта Уилсона:
Обратите внимание: чтобы это сработало, мне пришлось сбросить ответ. Это неприятное возрождение низкоуровневого кода API сервлетов в нашем замечательном ресурсе JAX_RS, и, что еще хуже, после этого заголовки становятся неизменяемыми, потому что они уже были отправлены по сети.
Б) Используйте объект ответа с сущностью
Лучшее решение в этом случае – использовать объект Response и задать сериализацию сущности в этом объекте ответа. Было бы неплохо сделать объект Response универсальным, чтобы указывать тип объекта полезной нагрузки в этом случае, но в настоящее время это не так.
В этом случае мы используем метод created класса построителя ответа, чтобы установить код состояния равным 201. Мы передаем объект сущности (пользователя) в ответ через метод entity ().
У класса Response есть несколько методов построения для различных статусов (stati?), Таких как:
Response. accepted () Response. ok () Response. noContent () Response. notAcceptable ()
NB: объект hateoas – это вспомогательный класс, который я разработал, чтобы помочь генерировать URI ресурсов. Здесь вам нужно будет придумать свой собственный механизм;)
Вот об этом.
Надеюсь, этот пространный ответ кому-то поможет 🙂