|
22 / 22 / 8
Регистрация: 17.11.2012
Сообщений: 124
|
|||||||||||
Ajax запрос20.11.2015, 17:19. Показов 967. Ответов 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 запрос Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Налог на собак: https:/ / **********/ gallery/ V06K53e
Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf
Пост отсюда. . .
|
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop?
Ниже её машинный перевод.
После долгих разбирательств я наконец-то вернула себе. . .
|
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод
Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод.
Thinkpad X220 Tablet —. . .
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|