Здравствуйте, я только начал работать с AJAX. Почему ссылка AJAX запроса ссылается не на php файл?
Сейчас я работаю с сайтом на котором есть редактор фотографий.
Мне скинули всю директорию, в которой нет указанного в $.ajax url пути. Запрос upload не работает.
Скриншот фрагмента кода удалён модератором.
Также есть функция следующего рода:
|
1 |
function uploadFiles() { var data = filesToUpload.shift(); console.log(data); countUploaders++; $('#uploadCounts').html('Осталось '+filesToUpload.length+' из '+filesOverall); var progressBar = $('<div class="progress" style="height: 13px;margin-bottom: 3px;"></div>') var progress = $('<div class="progress-bar" role="progressbar" style="width:0;font-size:10px;">'+data.name+'</div>'); progressBar.append(progress); $('#uploadBars').append(progressBar); var ajax = new XMLHttpRequest(); ajax.upload.onprogress = function(event) { let loaded = Math.round(100 / event.total * event.loaded); progress.css('width', loaded+'%'); progress.value = event.loaded; } ajax.onload = ajax.onerror = function(event) { if (this.status == 200) { console.log(event.target) console.log(images); let response = JSON.parse(event.target.responseText); $.each(response, function(key, val){ images[key] = val; renderWrapper(key, val, true); }); } else { console.log(event.target.responseText); } countUploaders--; progressBar.remove(); if(countUploaders < maxUploaders && filesToUpload.length > 0) uploadFiles(); else if(countUploaders <= 0 && filesToUpload.length <= 0) loadingFader('hide'); } ajax.open("POST", "/ajax/editor/upload", true); //upload запрос ajax.send(data.data); if(countUploaders < maxUploaders && filesToUpload.length > 0) uploadFiles(); } |
После добавления директории /ajax/editor/upload (хотя я не уверен что в этом есть толк), мне пишет:
VM1360:3 Uncaught SyntaxError: Unexpected token '<', "
Строка let response = JSON.parse(event.target.responseText) работает ни с теми данными.
Есть сайт на хостинге на котором фотографии загружаются нормально, мне скинули директорию этого сайта которую я подключил к локальному серверу. Подскажите пожалуйста, что делать в такой ситуации?
Дополнительно:
Содержание
А вы часто видите расширения .php или .html в адресной строке?
См.п.3.1 Регламента. Также обратите внимание на п.3.4
Ответ на вопрос из заголовка: потому что в мире существует не только php, и северная часть может быть на других языках.
Ответ на вопрос "что делать":
Научиться настраивать веб-сервер.
Ну или поменяйте адрес с /ajax/editor/upload на /ajax/editor/upload.php, если учиться лень.
- Я работаю на своем локальном сервере. Возможно ли что к серверу сайта, на котором все работает, подключено что то еще о чем я не знаю?
- Владимир Шмырёв, вы знаете что такое index.php? Откуда пошло именно такое название? Знаете, что его можно настраивать? Включать и выключать. Что такое mod_rewrite, rewrite rules, try_files?
Если "это все админские штуки, меня не касаются", то наймите админа чтоб настроил вам локальный сервер. Ну или сами, там дело на несколько строк.Ну и у вас все ещё остаётся опция поменять путь в js-ке на "понятный".
- Спасибо вам большое, вы мне очень сильно помогли!
Ответы:
Веб-сервера уже по умолчанию настроены автоматически искать index.php в папке
Я сам так часто делаю без всяких танцев с бубном положить в любую папку и заработает, например: ajax/index.php
Для решения данной проблемы вы можете воспользоваться услугами фрилансеров. Мы выполним необходимую работу быстро и качественно.
Оставить комментарий Отменить
Ответы
- Есть ответ! к записи Как уменьшить масштаб меньше 100% в Windows 10 (22H2)
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Аналоги CloudFlare в России?
- Есть ответ! к записи Как называется человек, который дизайн придумает для сайта и сверстает его?
- Есть ответ! к записи Можно ли установить Яндекс.Диск на АльтЛинукс?
- Есть ответ! к записи Картинки мутные только на сафари, есть выход?
- Есть ответ! к записи Keenetic. Как настроить SSTP клиент с сертификатом?
- Есть ответ! к записи Чем заменить executor в aiogram 3?
Проблема, с которой вы столкнулись, скорее всего, связана с тем, что в вашем коде AJAX запроса указан некорректный путь к файлу, который обрабатывает этот запрос.
Во-первых, убедитесь, что вы правильно указали путь к файлу, который обрабатывает AJAX запрос. Например, если ваш php файл находится в той же директории, что и файл, содержащий AJAX запрос, то путь должен быть просто названием файла без указания пути к нему.
Во-вторых, проверьте, что у вас правильно настроены права доступа к файлу php. Убедитесь, что файл имеет права на выполнение скрипта (executable permissions).
В-третьих, возможно, ваш сервер не настроен правильно для обработки php файлов. Убедитесь, что ваш сервер поддерживает php и что php модуль правильно настроен.
Ниже приведен пример кода, в котором показано, как правильно указать путь к php файлу в AJAX запросе:
Если после выполнения этих шагов проблема не решится, попробуйте проверить консоль разработчика в браузере (обычно нажатие F12 открывает консоль) на наличие ошибок и сообщений о том, почему запрос не удается выполнить.
Надеюсь, что мой ответ поможет вам решить проблему с ссылкой AJAX запроса, не указывающей на php файл. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью!
Проблема, когда ссылка AJAX запроса не указывает на PHP файл, может возникать по нескольким причинам. Одной из причин может быть неправильно указанный путь к файлу или ошибка в коде JavaScript. Важно убедиться, что путь к файлу указан правильно и файл существует на сервере.
Кроме того, возможно, что сервер не распознает файл как PHP скрипт из-за неправильного расширения файла. Убедитесь, что файл имеет расширение .php и сервер правильно настроен для обработки PHP скриптов.
Еще одной причиной может быть неправильно настроенный сервер, который не позволяет обрабатывать AJAX запросы на PHP файлы. В этом случае, необходимо проверить конфигурацию сервера и убедиться, что PHP скрипты могут быть выполнены из AJAX запросов.
Для того чтобы убедиться, что AJAX запрос ссылается на правильный файл, необходимо проверить код JavaScript, который отправляет запрос. Убедитесь, что путь к файлу указан корректно и что запрос отправляется на правильный URL.
Приведу пример кода, как можно отправить AJAX запрос на PHP файл:
В данном примере, код отправляет POST запрос на файл file.php на сервере example.com. Убедитесь, что путь к файлу указан правильно и сервер правильно настроен для обработки PHP скриптов.
Если после проверки всех вышеперечисленных причин проблема не решается, рекомендуется обратиться к системному администратору или провайдеру хостинга для дополнительной помощи.