J SON получает код состояния 4 и ошибку http 404 not found

Задаваемые 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

J SON получает код состояния 4 и ошибку http 404 not found

Похоже, что Azure (по крайней мере, облачные службы) знает, как обслуживать JSON из развернутого проекта ASP. NET MVC. Проблема в моем случае заключалась в том, что действие сборки на странице свойств файла JSON было задано неправильно. Изменение действия сборки на содержимое исправило это для меня.

Создан 30 сен.

J SON получает код состояния 4 и ошибку http 404 not found

Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками

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 ресурсов. Здесь вам нужно будет придумать свой собственный механизм;)

Вот об этом.

Надеюсь, этот пространный ответ кому-то поможет 🙂

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *