Поделиться этой страницей

Мой первый веб-сайт Azure — это простой тестовый сайт, который у меня был некоторое время назад, и который выполняет ajax-обратные вызовы на сервер для получения данных JSON. Все файлы данных имеют расширения .json. Azure не увидит эти файлы. Если я изменю расширение на .txt, они будут работать нормально.
Должен ли я возиться с IIS, чтобы увидеть этот .json?
4 ответы
Я тоже нашел пост в блоге Ахмеда Саббура полезным, но он создал для меня дополнительную проблему. В то время как исправление работало для веб-приложения Azure, когда я затем попытался запустить приложение локально, оно ужасно умерло, выбрасывая везде HTTP 500.19. Мне потребовалось некоторое время, чтобы понять, как это исправить, сохраняя при этом один файл web.config. Решением было (хотя и немного выдумка) сначала удалить расширение файла, а затем добавить его обратно:
<staticContent>
<remove fileExtension=".json" />
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
Для моих узких целей это было нормально, и я надеюсь, что это может сэкономить кому-то время, пытаясь понять это.
ответ дан 14 апр.
Ссылаясь Ахмед Саббур со своим постом в блоге http://blogs.msdn.com/b/africaapps/archive/2013/06/07/how-to-serve-static-json-files-from-a-windows-azure-website.aspx вам необходимо сделать следующее:
«Если вы загрузите файл .json на свой веб-сайт Windows Azure и попытаетесь получить к нему доступ, это приведет к ошибке 404 File Not Found, поскольку тип MIME для .json не установлен по умолчанию. Это также относится к любому файл, которому может потребоваться определенный тип MIME.
Чтобы решить эту проблему, зайдите на свой веб-сайт по FTP и загрузите следующий файл Web.config, в котором будут установлены правильные типы MIME. Если у вас уже есть файл Web.config, просто добавьте его в соответствующий раздел.
<?xml version="1.0"?>
<configuration>
<system.webServer>
<staticContent>
<mimeMap fileExtension=".json" mimeType="application/json" />
</staticContent>
</system.webServer>
</configuration>
“. Я сделал это, и 404 исчез.
Создан 08 июля ’14, 14:07
Похоже, что Azure (по крайней мере, облачные службы) знает, как обслуживать JSON из развернутого проекта ASP.NET MVC. Проблема в моем случае заключалась в том, что действие сборки на странице свойств файла JSON было задано неправильно. Изменение действия сборки на содержимое исправило это для меня.
Создан 30 сен.
Не тот ответ, который вы ищете? Просмотрите другие вопросы с метками
json
azure
or задайте свой вопрос.
В приложении asp.net mvc у меня есть метод, который возвращает JsonResult в представление. Он отлично работает на моем локальном компьютере, однако, когда приложение развертывается на сервере веб-хостинга, когда я пытаюсь получить эти данные, нажимая ссылку на представление, я получаю сообщение 404 Not Found in Firebug. Есть ли кто-нибудь, кто знает возможную причину, по которой это могло происходить? Мои фрагменты кода того, как я генерирую путь, приведены ниже:
private void get_info()
{
var serviceUri = new Uri("/getcountrydata/" + country_name + "/" + arms[0].Name + "/" + arms[1].Name + "/" + arms[2].Name + "/" + arms[3].Name, UriKind.Relative);
var webClient = new WebClient();
webClient.OpenReadCompleted += openReadCompleted;
webClient.OpenReadAsync(serviceUri);
}
Маршрутизация global.asax ниже:
routes.MapRoute(
"getcountrydata",
"getcountrydata/{country}/{indicator1}/{indicator2}/{indicator3}/{indicator4}",
new { controller = "Home", action = "getcountrydata" }
);
Метод getcountrydata выглядит следующим образом:
public JsonResult getcountrydata(string country, string indicator1, string indicator2, string indicator3, string indicator4)
{
LegoData legoData = captainClimateRepostory.GetLegoData(country, indicator1, indicator2, indicator3, indicator4);
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(LegoData));
MemoryStream ms = new MemoryStream();
ser.WriteObject(ms, legoData);
return Json(ms.ToArray(), JsonRequestBehavior.AllowGet);
}
Загружаю контент при скролле, в денвере все работает а на сервере нет, помогите найти ошибку. Я не понимаю в чем проблема.
Все файлы в utf-8, в .htaccess utf-8. Вообще все выводит без ошибок, ошибка только при подгрузке.
Преобразую обратно в массив data = jQuery.parseJSON(data);
<?php
include 'resources/php/db.php';
mysqli_query ($db, 'set character_set_results = "utf8"');
// C какой статьи будет осуществляться вывод
$startFrom = $_POST['startFrom'];
$city = $_POST["cityurl"];
$categor = $_POST["categorurl"];
// Получаем 10 статей, начиная с последней отображенной
$cities = array(
'Брестская область' => array(
'Брест', 'Барановичи', 'Береза', 'Ганцевичи',
'Дрогичин' ,'Жабинка' ,'Иваново', 'Ивацевичи',
'Каменец' ,'Кобрин', 'Лунинец', 'Ляховичи',
'Малорита' ,'Пинск', 'Пружаны', 'Столин',
'Брестская область'),
'Витебская область' => array(
'Витебск','Бешенковичи', 'Браслав', 'Верхнедвинск',
'Глубокое', 'Городок', 'Докшицы', 'Дубровно',
'Лепель', 'Лиозно', 'Миоры', 'Орша', 'Полоцк',
'Поставы', 'Россоны', 'Сенно', 'Толочин', 'Ушачи',
'Чашники', 'Шарковщина', 'Шумилино', 'Витебская область'),
'Гомельская область' => array(
'Гомель', 'Брагин', 'Буда-Кошелево', 'Ветка',
'Добруш', 'Ельск', 'Житковичи', 'Жлобин',
'Калинковичи', 'Корма', 'Лельчицы', 'Лоев',
'Мозырь', 'Наровля', 'Октябрьский', 'Петриков',
'Речица', 'Рогачев', 'Светлогорск', 'Хойники',
'Чечерск', 'Гомельская область'),
'Гродненская область' => array(
'Гродно', 'Берестовица', 'Волковыск', 'Вороново',
'Дятлово', 'Зельва', 'Ивье', 'Кореличи',
'Лида', 'Мосты', 'Новогрудок', 'Островец',
'Ошмяны', 'Свислочь', 'Слоним', 'Сморгонь',
'Щучин', 'Гродненская область'),
'Минская область' => array(
'Минск', 'Березино', 'Борисов', 'Вилейка',
'Воложин', 'Дзержинск', 'Жодино', 'Клецк',
'Копыль', 'Крупки', 'Логойск', 'Любань',
'Марьина Горка', 'Молодечно', 'Мядель',
'Несвиж', 'Слуцк', 'Смолевичи', 'Солигорск',
'Старые Дороги', 'Столбцы', 'Узда',
'Червень', 'Минская область'),
'Могилёвская область' => array(
'Могилев', 'Белыничи', 'Бобруйск', 'Быхов',
'Глуск', 'Горки', 'Дрибин', 'Кировск', 'Климовичи',
'Кличев', 'Костюковичи', 'Краснополье', 'Кричев',
'Круглое', 'Мстиславль', 'Осиповичи', 'Славгород',
'Хотимск', 'Чаусы', 'Чериков', 'Шклов', 'Могилёвская область')
);
$categors = array(
'Детский мир' => array(
'Детский мир', 'Детская одежда', 'Детская обувь',
'Детские коляски', 'Детские автокресла', 'Детская мебель',
'Игрушки', 'Детский транспорт', 'Товары для кормления', 'Товары для школьников',
'Прочие детские товары'),
'Недвижимость' => array(
'Недвижимость','Аренда квартир','Аренда комнат',
'Аренда домов','Аренда земли','Аренда гаражей / Стоянок',
'Ищу компаньона','Продажа квартир','Продажа комнат',
'Продажа домов', 'Продажа земли','Продажа гаражей / Стоянок',
'Аренда помещений','Продажа помещений','Прочая недвижимость',
'Обмен недвижимости'),
'Транспорт' => array(
'Транспорт','Легковые автомобили','Мото','Автобусы',
'Спецтехника','Грузовые автомобили','Сельхозтехника',
'Водный транспорт','Воздушный транспорт','Запчасти / Аксессуары',
'Прицепы','Другой транспорт','Авто / Мото услуги'),
'Работа' => array(
'Работа','Розничная торговля / Продажи','Транспорт / Логистика',
'Строительство','Бары / Рестораны','Юриспруденция и Бухгалтерия',
'Охрана / Безопасность','Домашний персонал','Красота / Фитнес / Спорт',
'Туризм / Отдых / Развлечения','Образование','Культура / Искусство',
'Медицина / Фармация','ИТ / Телеком / Компьютеры','Недвижимость',
'Маркетинг / Реклама / Дизайн','Производство / Энергетика',
'Cекретариат / АХО','Частичная занятость','Начало карьеры / Студенты',
'Сервис и Быт','Другие сферы занятий'),
'Животные' => array(
'Животные','Собаки','Кошки','Аквариумистика',
'Птицы','Грызуны','Рептилии','Сельхоз животные',
'Животные даром','Зоотовары','Вязка','Бюро находок',
'Другие животные'),
'Дом и Сад' => array(
'Дом и Сад','Канцтовары / Расходные материалы',
'Мебель','Предметы интерьера','Строительство / Ремонт',
'Инструменты','Комнатные Растения','Посуда / Кухонная утварь',
'Садовый Инвентарь','Сад / Огород','Хозяйственный инвентарь / Бытовая химия',
'Прочие товары для дома'),
'Электроника' => array(
'Электроника','Телефоны','Компьютеры',
'Фото / Видео','Тв / Видеотехника','Аудиотехника',
'Игры и Игровые приставки','Техника для дома',
'Техника для кухни','Климатическое оборудование','Индивидуальный уход',
'Аксессуары и комплектующие','Прочая электроника'),
'Услуги / Бизнес' => array(
'Услуги / Бизнес','Строительство / Ремонт / Уборка',
'Финансовые услуги / Партнерство','Перевозки / Аренда транспорта',
'Реклама / Полиграфия / Маркетинг / Интернет','Няни / Сиделки',
'Сырьё / материалы','Красота / Здоровье','Оборудование','Образование / Спорт',
'Услуги для животных','Продажа бизнеса','Развлечение / Искусство / Фото / Видео',
'Туризм / Иммиграция','Услуги переводчиков / Набор текста','Авто / Мото услуги',
'Обслуживание, Ремонт техники','Сетевой маркетинг','Юридические услуги',
'Прокат товаров','Прочие услуги'),
'Мода и Cтиль' => array(
'Мода и Cтиль','Одежда/обувь','Для свадьбы',
'Мода разное','Наручные часы','Аксессуары',
'Подарки','Красота / Здоровье'),
'Хобби, Отдых и Спорт' => array(
'Хобби, Отдых и Спорт','Антиквариат / Коллекции',
'Музыкальные инструменты','Другое','Спорт / Отдых',
'Книги / Журналы','CD / DVD / Пластинки / Кассеты',
'Билеты','Поиск попутчиков','Поиск групп / Музыкантов')
);
if(isset($_POST['cityurl'])) {
if($city == 'Вся Беларусь') {
$query = "SELECT *
FROM `articles`
ORDER BY `article_id`
DESC LIMIT {$startFrom},12";
} elseif(array_key_exists($city, $cities)) {
$query = "SELECT *
FROM `articles`
WHERE city IN ('" . implode("','", $cities[$city]) . "')
ORDER BY `article_id` DESC
LIMIT {$startFrom},12";
} else {
$query = "SELECT *
FROM `articles`
WHERE city = '$city'
ORDER BY `article_id`
DESC LIMIT {$startFrom},12";
}
$res = mysqli_query($db, $query);
}
if(isset($_POST['categorurl'])) {
if($categor == 'Все категории') {
$query = "SELECT *
FROM `articles`
ORDER BY `article_id`
DESC LIMIT {$startFrom},12";
} elseif(array_key_exists($categor, $categors)) {
$query = "SELECT *
FROM `articles`
WHERE categor IN ('" . implode("','", $categors[$categor]) . "')
ORDER BY `article_id` DESC
LIMIT {$startFrom},12";
} else {
$query = "SELECT *
FROM `articles`
WHERE categor = '$categor'
ORDER BY `article_id`
DESC LIMIT {$startFrom},12";
}
$res = mysqli_query($db, $query);
}
if( isset($_POST['cityurl']) and isset($_POST['categorurl']) ) {
$where = array();
$where=array("1=1");
if($categor && $categor != 'Все категории') {
if(array_key_exists($categor, $categors)) {
$where[]="categor IN ('" . implode("','", $categors[$categor]) . "')";
} else
{
$where[]="categor='$categor'";
}
}
if($city && $city != 'Вся Беларусь') {
if(array_key_exists($city, $cities)) {
$where[]="city IN ('" . implode("','", $cities[$city]) . "')";
} else
{
$where[]="city='$city'";
}
}
$query = "SELECT *
FROM `articles`
WHERE " . implode(" AND ", $where) . "
ORDER BY `article_id` DESC
LIMIT {$startFrom},12";
$res = mysqli_query($db, $query);
}
if( !isset($_POST['cityurl']) and !isset($_POST['categorurl']) ) {
$res = mysqli_query($db, "SELECT * FROM `articles` ORDER BY `article_id` DESC LIMIT {$startFrom},12");
}
// Формируем массив со статьями
$articles = array();
while ($row = mysqli_fetch_assoc($res))
{
$articles[] = $row;
}
// Превращаем массив статей в json-строку для передачи через Ajax-запрос
echo json_encode($articles);
var inProgress = false;
/* С какой статьи надо делать выборку из базы при ajax-запросе */
var startFrom = 12;
$(window).scroll(function() {
if($(window).scrollTop() + $(window).height() >= $(document).height() -166 && !inProgress) {
$.ajax({
/* адрес файла-обработчика запроса */
url: 'scroll.php',
/* метод отправки данных */
method: 'POST',
/* данные, которые мы передаем в файл-обработчик */
data: {"startFrom" : startFrom},
/* что нужно сделать до отправки запрса */
beforeSend: function() {
/* меняем значение флага на true, т.е. запрос сейчас в процессе выполнения */
inProgress = true;}
/* что нужно сделать по факту выполнения запроса */
}).done(function(data){
/* Преобразуем результат, пришедший от обработчика - преобразуем json-строку обратно в массив */
data = jQuery.parseJSON(data);
/* Если массив не пуст (т.е. статьи там есть) */
if (data.length > 0) {
/* Делаем проход по каждому результату, оказвашемуся в массиве,
где в index попадает индекс текущего элемента массива, а в data - сама статья */
$.each(data, function(index, data){
/* Отбираем по идентификатору блок со статьями и дозаполняем его новыми данными */
$("#articles").append("<div class='article'><div class='article_title'>" + data.title + "</div><div class='article_img'><img src=" + data.img1 + "></div><a data-hren='#' class='article_more'>Подробнее</a></div>");
});
/* По факту окончания запроса снова меняем значение флага на false */
inProgress = false;
// Увеличиваем на 10 порядковый номер статьи, с которой надо начинать выборку из базы
startFrom += 12;
}});
}
});
Добавил условия и все заработало, не знаю в чем была проблема раз в денвере все работало
if(isset($_POST["cityurl"]))
$city = $_POST["cityurl"];
if(isset($_POST["categorurl"]))
$categor = $_POST["categorurl"];
В приложении asp.net mvc у меня есть метод, который возвращает JsonResult в представление. Он отлично работает на моем локальном компьютере, однако, когда приложение развертывается на сервере веб-хостинга, когда я пытаюсь получить эти данные, нажимая ссылку на представление, я получаю сообщение 404 Not Found in Firebug. Есть ли кто-нибудь, кто знает возможную причину, по которой это могло происходить? Мои фрагменты кода того, как я генерирую путь, приведены ниже:
вы знаете, какую версию IIS использует ваш хостинг-провайдер? вы должны увидеть это в заголовках ответов firebug. — russau
How to FIX 404 Not found jquery-1.6.3.min.js
Они используют Microsoft-IIS / 7.5 — General_9
используйте клиент REST в firefox для тестирования своей службы, как только вы заставите ее работать там, вы можете попробовать исправить этот код! — Aadi Droid
3 ответы
Я думаю, это проблема с URL-адресом, который вы предоставляете для действия. Это не относительно по отношению к хост-серверу. Отметьте это сообщение SO .. jquery ajax-вызов метода контроллера JsonResult приводит к 404 на IIS6
ответ дан 23 мая ’17, 13:05
Проблема в том, что я не могу использовать вспомогательный метод Url.Action (), где я генерирую запрос, потому что он находится в проекте silverlight, и вы не можете ссылаться на System.Web.Mvc там? — Общие_9
Почему вы не можете сослаться на System.Web.MVC? — Танвир-Ибн-Хареш
Вы не можете добавить dll System.Web.MVC в проект silverlight. Он позволяет добавлять только определенные библиотеки DLL Silverlight. — Общие_9
Внутри Silverlight вы можете создать URL-адрес относительно страницы, на которой размещен ваш XAP:
Uri uri = new Uri(HtmlPage.Document.DocumentUri, «../getcountrydata/»);
Еще лучше — относительно вашего XAP:
Uri uri = new Uri(App.Current.Host.Source.AbsoluteUri, «../getcountrydata/»);
Почему при попытке записи информации в json получаю « 404 *. json not found»?
params — переменная, где я храню необходимую для записи информацию (запись информации сначала делается в localstorage, затем в файл *.json).
При нажатии на кнопку, которая вызывает данный AJAX запрос (удаление строки из таблицы) удаления не происходит, в консоли выводится:
Сам json лежит в проекте по пути /public/jsons/accounts.json.
Остальные файлы, лежащие по пути, к примеру, /public/images/file.png, видны.
Что я делаю неправильно?
- Вопрос задан более трёх лет назад
- 699 просмотров
Вернуться в блог
01 января 2023, 16:11
Цитата дня
Сложнее всего начать действовать, все остальное зависит только от упорства. Амелия Эрхарт
- Записки IT специалиста — Форум
- ► Сайтостроение
- ► Веб-сервера
- ► nginx не загружаются JSON 404(not found)
Nginx не загружаются JSON 404(not found)
Автор sbrain, 02 апреля 2020, 15:56
0 Пользователей и 1 Гость просматривают эту тему.
Проблема https администратора Joomla 3
При редактировании любого модуля я получил эту ошибку .
Ошибка Произошла ошибка при получении данных JSON: код состояния HTTP 0. ошибка
При осмотре на консоли ниже отображается ошибка >> .
Внутри области администратора отображаются все URL-адреса. значок заблокированного небезопасного содержимого
Фронтенд в порядке.
- Я правильно установил SSL.
- Я сделал Force SSL -> весь сайт при настройке.
- Тот же сервер, другой администратор без ошибок.
Пожалуйста помоги. Не нашел решения. Спасибо заранее за вашу помощь.
Вы очищали браузер и кеш Joomla? Если нет, то сделайте один раз, а затем перепроверьте.
Связывание данных — это мощная функция Angular, позволяющая связать пользовательский интерфейс вашего приложения с базовой моделью данных. Они.
Чтобы использовать Sendgrid в Laravel, вам нужно выполнить следующие шаги:
Декораторы в Python — это мощная и полезная функция, которая позволяет изменять поведение функции или метода, оборачивая его в другую функцию. Они.
В JavaScript существует несколько способов заменить символ в строке по определенному индексу.
Ответы 1
для ошибки JSON: эта проблема устранена. Чтобы решить эту проблему, выберите «Управление»> «Обновить»> «Найти расширенный диспетчер модулей». В качестве альтернативы перейдите в диспетчер модулей, и вы должны загрузить последнюю версию Advanced Module Manager. ПРОСТО ОБНОВИТЕ ПЛАГИН, и сообщение об ошибке исчезнет. Надеюсь это поможет.
«заблокированный значок» отображается для этой цели как запущенный файл javascript или jquery, который является вредоносным, отключите плагины, которые вы установили на Joomla и не существовали в Joomla по умолчанию, и посмотрите, исчезнет ли значок или нет
Вы просто скопировали его отсюда и вставили github.com/joomla/joomla-cms/issues/12689