|
22 / 22 / 8
Регистрация: 17.11.2012
Сообщений: 124
|
|||||||||||
Ajax запрос20.11.2015, 17:19. Показов 993. Ответов 4
Метки нет (Все метки)
Если коротко:
1. Есть скрипт на чистом js:
Суть работы обоих скриптов сводиться к следующему: Функция "sw_ajax()" вызывается при нажатии на html элемент на вебстранице (событие "onclick"). Эта же страница имеет два поля с идентификаторами "executed_posts" и "waiting_response". Эта функция производит ajax запрос на сервер к php скрипту на сервере. И скрипт на сервере возвращает строку вида: 45#57. Эти числа генерируются в процессе работы скриптом php на сервере. Данная javascript функция принимает эту строку, распарсивает на два числа, и вставляет эти числа в те два поля с идентификаторами "executed_posts" и "waiting_response". Кратко о серверном php скрипте: когда он вызывается, то в процессе работы делает несколько запросов к БД, делает один POST запрос на удаленный сервер, снова делает несколько запросов к БД, некоторые вычисления и возвращает ответ вызвавшему его js скрипту, т.е. ответ функции "sw_ajax()" в виде строки 45#57. Суть проблемы: 1. На локальном сервере все работает отлично. Т.е. я нажимаю на элементе, на сервере скрипт вызывается (я проверяю изменения в БД - так я узнаю, что скрипт был вызван удачно) и возвращает строку вида 45#57, и числа записываются в поля, что я наблюдаю. 2. Но на удаленном сервере, когда я нажимаю на элемент, то серверный скрипт вызывается (я снова проверил изменения в БД - убедился что скрипт был вызван удачно), но в поля на вебстранице ajax функция ничего не меняет. При просмотре во вкладке "консоль" в инструментах разработчика в браузере, я вижу следующую строку: GET http://mysite.org/wp-content/p... sender.php 404 (Not Found) Но проверяя состояние таблицы в БД - я убеждаюсь что каждый раз скрипт был удачно запущен. И если например я набираю в браузере адрес того самого скрипта http://mysite.org/wp-content/p... sender.php (имя сайта изменено), то получаю ту самую строку в окне браузера 45#57. Т.е. Скрипт при вызове не только выполняется, но и отправляет ответ. Казалось бы - неправильно использую javascript, но если я меняю содержимое серверного скрипта на всего лишь одну строку: echo '45#57'; то ajax функция работает без проблем на обоих серверах: на локальном и на удаленном. Это навело меня на мысль, что проблема во времени исполнения серверного скрипта (он довльно громоздкий). Естественно на локальном сервере работа с базой данных, и отправка запросов происходит гораздо быстрее, не только потому, что все находится на одной машине, но и благодаря большей мощности локального компа. Вопрос: Может ли слишком долгое исполнение серверного скрипта вызывать выше описанную проблему при ajax запросе (При прямом наборе в браузере адреса скрипта - ответ приходит меньше чем через секунду). Если да, то есть ли возможность изменить "время ожидания" ответа в настройках ajax функции и как? Или может у кого есть идеи, в чем может быть проблема? Проблема возникает в обоих функциях (на чистом js и на jQuery) одинаково.
0
|
|||||||||||
| 20.11.2015, 17:19 | |
|
Ответы с готовыми решениями:
4
AJAX запрос к файлу, который сам делает AJAX запрос
JQuery, Ajax и LIVE!? Возможно ли повесить ajax запрос на live? |
|
1 / 1 / 2
Регистрация: 22.12.2014
Сообщений: 159
|
|||||
| 20.11.2015, 22:19 | |||||
|
Из написанного так и не понял, что работает что нет. Написано много, а по делу 2-3 строчки. Php скрипт сам работает ? Ответ отдает цифра#цифра, не через клиентские запросы, а сам скрипт если запустить ? Если после запуска скрипта выдает в браузере цифра#цифра значит скрипт работает и к серверной части претензий нет.
Это первая часть проверки. Что касается клиентской части: Смотрите при выполнении аякс или хмлхттп запроса ответ, что возвращает.
0
|
|||||
|
22 / 22 / 8
Регистрация: 17.11.2012
Сообщений: 124
|
|
| 21.11.2015, 00:23 [ТС] | |
|
Хм, неужели так сумбурно описал?
1. Нажмаю кнопочку в клиентской части -> js функция производит ajax запрос на сервер. (путь к файлу генерируемый php функцией тот же: http://mysite.org/wp-content/p... sender.php. Написал же: строку которую я набираю в браузере я копирую из консоли сообщения об ошибке 404. Т.е. тем самым я убеждаюсь что путь верный, т.к. при прямом наборе браузер показывает строку ответа. Т.е. уже здесь нестыковка: в консоли пишет что путь к файлу неверный, а при копировании этого "неверного пути" браузер показывает ответ. Во-вторых, изменения в БД серверный скрипт производит - занчит ajax запрос таки вызвал серверный скрипт. В том то и странность. Что ajax скрипт в место ответной строки получает ответ 404, хотя судя по БД скрипт исполняется. А в браузере - вообще все работает.
0
|
|
|
1 / 1 / 2
Регистрация: 22.12.2014
Сообщений: 159
|
|||||||
| 21.11.2015, 03:31 | |||||||
|
Я только одного понять тогда не могу если вы пишите:
0
|
|||||||
|
22 / 22 / 8
Регистрация: 17.11.2012
Сообщений: 124
|
|
| 21.11.2015, 17:45 [ТС] | |
|
Вот и я думаю, что такого быть не может - вот только как выясняется может. Разница между рабочим и нерабочим варинтом только в содержании скриптов (один - содерижит несколько сотен строк кода, работает с БД, делает запрос на сторонний сервер, производит разные вычисления; второй (тестовый) - содержит только одну строку). Т.е. путь к файлу один и тот же. И не ясно как сервер может отвечать 404.
Добавлено через 5 минут В принципе я нашел решение, использовав API от движка сайта (WordPress) для отправки этого ajax запроса - и он работает отлично. Есть у меня подозрение, что на локальном сервере какой-то модул в Apache не активен, и этот (или эти) модуль на локальном сервере не позволяет WP "перехватывать" ajax запрос, а вот на внешнем сервере - WP вмешивается в процесс, и отвечает, что мол нету такого скрипта. Так что больше грешу на WordPress. Эта CMS иногда выдает интересные "сюрпризы" при глубокой разарботке. Например то, что работает на одиночной установке - не всегда удается запустить в multisite mode (в некоторых случаях не позволяет загружать wordpress environment в сторонний скрипт - хотя на одиночной установке - разрешает). Добавлено через 3 минуты И да, в дополнение к последнему выводу (что всему виной wordpress) полный скрипт (тот что глючит) использует wordpress environment.
0
|
|
| 21.11.2015, 17:45 | |
|
Помогаю со студенческими работами здесь
5
Ajax запрос Ajax запрос Ajax запрос ajax запрос Ajax запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: реализовать контроль корректности заполнения дат назначения. . .
|
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html
Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
|
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2.
Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
|
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях.
Задача: при копировании документа очищать определенные реквизиты и табличную. . .
|
|
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git
main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели
8ATzM_2aurI
|
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2.
Задача: запретить редактирование документа, если он открыт у другого пользователя.
/ / . . .
|
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои.
А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
|
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20%
kYBz3eJf3jQ
|