Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подгрузка данных через ajax
 
 автор: clubxaliav   (19.11.2014 в 13:34)   письмо автору
 
 

Ребят не как не могу найти решение!

Есть товары которые выводятся из БД по 20 шт на странице.

строка товара выглядит так:

название - цена - наличие - кнопка купить

необходимо решение задачи о проверке наличия на стороннем сайте наличия товара и возврате результата в ячейку с наличием с под заменой при несовпадении результата.

Скрипт для проверки на стороннем сайте наличия есть.

нужно только запрос на обработку этого скрипта и возврате результата.

нашел вот такой но он только 1 результат назад выводит из 20 ти!

<div id="tab"></div>
<script type="text/javascript">
$(document).ready(function(){
 
$('#tab').load( "page.html"); 
 
});
</script>


И как это реализовать без торможения браузера с последовательной загрузкой, а не всех сразу, чтоб не нагружать сервер.

Заранее благодарю!

  Ответить  
 
 автор: confirm   (19.11.2014 в 19:22)   письмо автору
 
   для: clubxaliav   (19.11.2014 в 13:34)
 

Вы что-то путаете в понятиях - Ajax не выводит что-то пачками или по одиночке, он вообще ничего не вывод. А на странице будет отображено ровно то, что содержится в page.html, то есть что вернул сервер.

Торможение, так у вас запрос к другому ресурсу, да видимо еще и парсинг текста.

  Ответить  
 
 автор: clubxaliav   (21.11.2014 в 09:41)   письмо автору
 
   для: confirm   (19.11.2014 в 19:22)
 

А в каком направлении мне двигаться, если мне нужно распарсить и выдать результат с другого ресурса в каждую строчку без тормозов браузера, чтоб сперва все загрузить а потом парсить.
Я просто видел такие решения, например на SEOPULT, когда обновляется допустим геотаргетинг для каждого слова в продвижении.

Заранее благодарю!

  Ответить  
 
 автор: confirm   (21.11.2014 в 14:04)   письмо автору
 
   для: clubxaliav   (21.11.2014 в 09:41)
 

>чтоб сперва все загрузить а потом парсить.

Загрузить куда, на клиента, а парсер кто, сервер?

То что вы показываете, это всего лишь навсего самый простой из Ajax методов jQuery.

  Ответить  
 
 автор: clubxaliav   (21.11.2014 в 15:08)   письмо автору
 
   для: confirm   (21.11.2014 в 14:04)
 

Так, не правильно Вы меня поняли.

У меня есть товары (интернет магазин), где более 60000 товаров, обновить всем актуальное наличие на сайте нет возможности, так как у поставщика наличие может измениться уже через минуту!

Что хотел я придумать: открывает пользователь страницу каталога, на которой списком 20 товаров на страницу. Мне необходимо чтоб страница сперва загрузилась полностью с товарами, а после этого только срабатывал парсинг на сайте поставщика и выводил "В наличии" или "Нет в наличии" у каждого из 20 товаров (поочередно без зависания браузера). Ну можно начать парсинг и одновременно с загрузкой страницы каталога, лишь бы не зависал браузер.

Соответственно необходим скриптик, который бы запускал парсинг для каждого товара поочередно и выводил результат без тормозов. По этому я подумал, что мне поможет ajax, но в нем я не силен.

Вот как то так!

Есть ли у Вас какая-нибудь помощь в таком решении?

  Ответить  
 
 автор: confirm   (21.11.2014 в 15:36)   письмо автору
 
   для: clubxaliav   (21.11.2014 в 15:08)
 

И кто будет парсить поставщика - сервер или клиент?

Если ваша страница будет передаваться клиенту в течении минуты, тогда да, был бы смысл нагружать сервер еще и задачей запроса к поставщику. Ну это же не так, и перед выдачей страницы клиенту, я думаю, вы уже сделали такой запрос и выдали 20 товаров с учетом их наличия. Следующий запрос к серверу нужно делать по таймеру, через 1 минуту, и в зависимости от результата произвести корректировку на клиенте. Возможно для этого и достаточно метода .load(), а может быть и не выгоден он, не знаю вашей организации данных.

Лучше cron, который будет синхронизировать изменения вашей базы товаров и базы поставщика, а не то, что вы описываете выше. Правда, если ваш поставщик кроме парсера страницы вас ничем не обеспечивает, то это плохо.

  Ответить  
 
 автор: clubxaliav   (23.11.2014 в 12:04)   письмо автору
 
   для: confirm   (21.11.2014 в 15:36)
 

Выдаю 20 товаров с наличием из своей бд, а хочу чтоб скрипт парсил уже поставщика на изменение в наличии! Соответственно клиент при заходе в каталог парсит постащика.

В принципе поставщик обеспечивает yml и csv но они весят по 40 мб, я весь день трачу на то чтоб обновить частями этот файл, так как он большой. У меня самый обычный парсинг xml, и он не может справиться с такими большими файлами.

Я только и трачу время на обновлении 60000 товаров.

Нужен выход из этой ситуации, а его нет.

  Ответить  
 
 автор: confirm   (23.11.2014 в 12:28)   письмо автору
 
   для: clubxaliav   (23.11.2014 в 12:04)
 

А вы хотите взвалить на клиента парсинг, вы что думаете ему легче перемолотить такой объем? Ну что за глупости. Ваш поставщик, что знает какие 20 товаров запросил ваш клиент и выдаст ему в ответ xml-файл? Наверное же нет. А если парсить html, то у клиента в этом плане возможности Regexp послабее нежели у сервера.

Выход из ситуации только один - если ваш поставщик заинтересован в вас, то он никак не будет вываливать всю базу, а только изменения/новинки, и я не думаю, что в течении одной минуты их накапливается до 60000.

Если бы у вас был не магазин, а аукцион, тогда бы еще можно было бы беспокоится о режиме реального времени. А если магазин, то даже уже на этапе оформления заказа узнать, что товар уже распродан, это не будет смертельным для покупателя.

  Ответить  
 
 автор: clubxaliav   (27.11.2014 в 10:17)   письмо автору
 
   для: confirm   (23.11.2014 в 12:28)
 

Спасибо, может вы и правы! Будем решать проблему с поставщиками.

  Ответить  
 
 автор: confirm   (27.11.2014 в 11:18)   письмо автору
 
   для: clubxaliav   (27.11.2014 в 10:17)
 

Не знаю прав я или нет, но 40 МБ загрузить, это уже не самое лучше для клиента, и почему он еще и обязан ковыряться в этом. Я лично такого подхода не понимаю.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования