Правила     Закладки     Карма    Календарь    Журналы    Помощь    Поиск    PDA    Чат   
        СМС-ки
   
Пейджер выключен!
Страницы: (3) [1] 2 3  ( Перейти к первому непрочитанному сообщению )  
Фильтр авторов:    показать 
  скрыть
  Ответ в темуСоздание новой темыСоздание опроса

> MVC php + ajax
maruo  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




Не вникаю как мне использовать ajax ? куда отправлять ajax запрос на какой файл? Когда единая точка входа, index.php.
Или как вообще ajax реализуется при MVC подходе?
В какой файл вообще пихать сам запрос?
Свернутый текст


jQuery(document).ready(function () {

$.ajax({
dataType: 'json',
type: 'GET',
cache:false,
url: '?select_all = 1',
success: function(jsondata){

$.each(jsondata, function(i, b) {
var lost_tickets = b.count_tickets - b.count;
var progress_bar_in_percents = (100 / b.count_tickets) * b.count;

$(".pl20").append('<div class="panel-block mt15">' +
'<div class="panel-heading-img-item">' +
'<a href="lot.php?lot_id='+b.lot_id+'"><img src="' + b.img +'"></a></div>' +
'<p>'+b.name_item+'<hr></p><p>Редкость: '+b.rare_item+'</p><p>Цена в Steam: '+b.price_item+'₽</p>' +
'<a class="fs13"><span class="sidebar-title">Left/Just</span><span class="pull-right mr10">'+lost_tickets+ '/' +b.count_tickets+'</span><div class="progress progress-bar-xs mh10 mb5"><div class="progress-bar progress-bar--1" role="progressbar" aria-valuemax="100" style="width:'+ progress_bar_in_percents +'%"></div></div></a>' +
'<p>Цена билета: '+b.price_ticket+'₽</p>' +
'<a class="button-by" href="lot.php?lot_id=' + b.lot_id + '">Купить Билет<span class="fa fa-mail-forward"></span></a></div>');

});

}
}
);


});



При необходимости могу докинуть файлы

Это сообщение отредактировал maruo - 31.03.2016 - 15:23
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Цитата
куда отправлять ajax запрос на какой файл? Когда единая точка входа, index.php

Цитата
через какую дверь войти в дом? Когда есть только одна дверь, парадная
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




GuestДопустим , это ясно, А вот с какого файла? Где должны быть аякс запросы ?
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









Да все точно такое же как и для неajax-запросов. Какая разница то?
Только отдаешь не всю страницу целиком, а только данные.
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
DragonNoir  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Новичок
*

Профиль
Группа: Пользователь
Сообщений: 47
Пользователь №: 42691
На форуме: 1 год, 13 дней
Карма: 2




А вы вообще понимаете, что такое AJAX? Технически для сервера нет разницы между AJAX и обычным запросом, который вы делаете вводя URL в браузере или кликая по ссылкам.


--------------------
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




DragonNoir
Понимаю, но то как я раньше делал, без MVC теперь не работает
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3482
Пользователь №: 38635
На форуме: 3 года, 3 месяца, 2 дня
Карма: 184




Цитата
url: '?select_all = 1',

В инспекторе посмотри, куда летит запрос?


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




AllesKlar Знал бы я что это)
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




А если вы про консоль, то она пустая, или я не там ищу)

lottery?select_all&_=1459430263100

с 302 ошибкой

Это сообщение отредактировал maruo - 31.03.2016 - 16:16
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
kristall  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



418 I'm a teapot
******

Профиль
Журнал
Группа: Форумчанин
Завсегдатай форума
Сообщений: 647
Пользователь №: 28374
На форуме: 5 лет, 9 месяцев, 13 дней
Карма: 22




Если у тебя MVC, то должны быть контроллеры с экшенами. И в урле аякса должно быть что-то типа controller/action?getParam=something или как там у тебя роуты настроены.


--------------------
echo '<pre>',print_r($var, 1);die;

root@server# make love && war
PMПисьмо на e-mail пользователюICQ
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  [x] Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




kristall
class Router{

public static function Start(){
//Параметры по умолчанию
$controller_name = 'index';
$action_name = 'index';
$action_parameters = array();

$route_array = explode('/', $_SERVER['REQUEST_URI'],3);

if (!empty($route_array[1])) {
$controller_name = $route_array[1];
}
if (!empty($route_array[2])) {
$action_name = $route_array[2];
}

$model_name = 'Model_'.$controller_name;
$controller_name = 'Controller_'.$controller_name;
$action_name = 'Action_'.$action_name;

if(file_exists(F_PATCH.'/system/model/'.$model_name.'.php')){
include F_PATCH.'/system/model/'.$model_name.'.php';
}
if(file_exists(F_PATCH.'/system/controller/'.$controller_name.'.php')){
include F_PATCH.'/system/controller/'.$controller_name.'.php';
}else{
header("Location: /404");
}

$controller = new $controller_name();
$controller->$action_name();


}
}


class Controller_lottery extends Controller{

function Action_index(){

$model = new Model_lottery();
$view = new View();
if(isset($_GET['select_all'])){
$view->generate('lottery', $model->get_data_sort_all());
}elseif(isset($_GET['sort_game'])){
$view->generate('lottery', $model->get_data_sort_game($_GET['sort_game']));
}

}
}


Это сообщение отредактировал maruo - 31.03.2016 - 16:32
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
AllesKlar  
Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 3482
Пользователь №: 38635
На форуме: 3 года, 3 месяца, 2 дня
Карма: 184




Цитата (maruo @ 31.03.2016 - 14:04)
А если вы про консоль, то она пустая, или я не там ищу)

lottery?select_all&_=1459430263100

с 302 ошибкой

У тебя редирект происходит, вот аякс и валится.
Исключи редирект для аяксовских запросов.


--------------------
[продано копирайтерам]
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




AllesKlar у меня другое Предчувствие . Аякс же отправляется как я понимаю при уже сформированной странице?
А функция
class Controller_lottery extends Controller{

function Action_index(){

$model = new Model_lottery();
$view = new View();
if(isset($_GET['select_all'])){
$view->generate('lottery', $model->get_data_sort_all());
}elseif(isset($_GET['sort_game'])){
$view->generate('lottery', $model->get_data_sort_game($_GET['sort_game']));
}

}
}

Отрабатывает вперед , или я просто не понимаю, Этот MVC делает еще сложнее систему, а не проще

Это сообщение отредактировал maruo - 31.03.2016 - 16:45
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
Guest  
Дата
Цитировать сообщение


Гость пожелал остаться неизвестным

Unregistered









1. Создаешь новый action:
function Action_selectall(){
echo json_encode($model->get_data_sort_all());
exit;
}

Узнай по какому url открывается этот action. По-моему по /lottery/selectall.


2. Шлешь запрос на /lottery/selectall:
$.ajax({
dataType: 'json',
type: 'GET',
cache:false,
url: '/lottery/selectall',
success: function(jsondata){
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
maruo  
 ۩  Дата
Цитировать сообщение

Пользователя сейчас нет на форуме



Здесь живет
******

Профиль
Группа: Форумчанин
Завсегдатай форума
Сообщений: 326
Пользователь №: 37433
На форуме: 3 года, 10 месяцев, 15 дней
Карма: 1




Guest да именно суть то в том что , просто когда в строке /lottery без параметров, нужно отправить ajax и вернуть данные.
просто json от модели возвращается, но нужно это еще сформировать в HTML виде, а за это отвечал ajax

А если уже там сортировку надо, то уже другой запрос

Это сообщение отредактировал maruo - 31.03.2016 - 17:20
PMПисьмо на e-mail пользователю
    0   Для быстрого поиска похожих сообщений выделите 1-2 слова в тексте и нажмите сюда Для быстрой цитаты из этого сообщения выделите текст и нажмите сюда
  Быстрый ответ
Информация о Госте
Введите Ваше имя
Кнопки кодов
Для вставки цитаты, выделите нужный текст и
НАЖМИТЕ СЮДА
Введите сообщение
Смайлики
:huh:  :o  ;) 
:P  :D  :lol: 
B)  :rolleyes:  <_< 
:)  :angry:  :( 
:unsure:  :blink:  :ph34r: 
     
Показать всё

Опции сообщения  Включить смайлики?
 Включить подпись?
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:

Опции темыСтраницы: (3) [1] 2 3  Ответ в темуСоздание новой темыСоздание опроса