[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: MVC php + ajax
Страницы: 1, 2, 3
Guest
По /lottery у тебя отдается веб-страница (Action_index), которая потом шлет ajax-запрос на /lottery/selectall.
maruo
Guest
1 момент, кажется я врубился, щас попробую покапать
maruo
Guest Что тупняк какой то, напрямую когда ввожу в строку /lottery/selectall
Возвращается json, но JS не формирует его в HTML код
просто /lottery ничего, запрос не отправляется
DragonNoir
Цитата (maruo @ 31.03.2016 - 15:04)
lottery?select_all&_=1459430263100

с 302 ошибкой


Вы не учли один момент. Если у вас полный URL выглядит так:
http://example.com/lottery?select_all&_=1459430263100
то в $_SERVER['REQUEST_URI'] будет /lottery?select_all&_=1459430263100, соответственно и $controller_name = "lottery?select_all&_=1459430263100"
Но поскольку вы получаете 302 код, а не 404, то начните искать проблему с .htaccess

_____________
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
maruo
DragonNoir откуда в запросе появляется это
&_=1459430263100. Я ведь посылаю просто /lottery/selectall
DragonNoir
maruo
Ну откуда же я знаю? Вы сами этот URI показали

И кстати, строка "url: '?select_all = 1'" должна выглядеть так: url: '?select_all=1'

_____________
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
maruo
DragonNoir
да это тест был. Я не врублюсь почему я отправляю аяком url: '/lottery/selectall',
А В файербаге пишет что selectall&_=1459430263100 ? откуда эти цифрыто
DragonNoir
maruo
А у вас часом нигде не задан $(document).ajaxStart(), который дополняет урлы этими цифрами? Обычно, подобный финт делают для предотвращения кеширования браузером

_____________
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
maruo
DragonNoir насчет "Нигде" не могу сказать, Возможно где то из библиотек взятых из сети есть
DragonNoir
Тогда ищите. Дело в том, что функция ajaxStart() является глобальной и действует на все ajax-запросы.

_____________
- Сколько тебе надо времени на задачу?
- Месяц.
- А если дам тебе помощника?
- Тогда два месяца.
Guest
maruo
cache:false
добаляет числа.

Шли тогда на url: '/lottery/selectall/?'
maruo
Guest
С кешированием и цифрами разобрался
Нет не работает чувствую я сдамся на сегодня уже, закипела голова.


class Controller_lottery extends Controller{

function Action_index(){

$model = new Model_lottery();
$view = new View();
$view->generate('lottery');

}
function Action_selectall(){
$model = new Model_lottery();
$view = new View();
$view->generate('lottery',$model->get_data_sort_all());
}
}

При обращении на url /lottery/selectall/ напрямую в строку то отрабатывает фукнкция Action_selectall, а если просто /lottery , то ничего пустой массив
Guest
Action_index не трогай. Верни как было, что бы по /lottery открывалась страница.

Action_selectall должен возвращать json. Вместо $view->generate(...) пиши
echo json_encode($model->get_data_sort_all());
exit;


Еще раз:
по /lottery должна открываться веб-страница.
по /lottery/selectall/ json.

Если все так и ничего не работает – проблема в javascript'e.

P.S. Valick уже советовал тебе книгу?
maruo
Guestну если не трогать action_index то конечно же json вернется т.к вызывается get_data_sort_all();
А в модели у меня следующее
class Model_lottery extends Model {

public function get_data_sort_game($get_param){
include_once"connect_bd.php";
$sort_game = mysqli_real_escape_string($link,$get_param);

$full_query = mysqli_query($link,"SELECT l.lot_id,l.name_item,l.rare_item,l.price_item,l.price_ticket,
l.count_tickets,l.sort_item,l.lot_status,l.img, COUNT(s.lot_id) as count
FROM lottery l
LEFT JOIN start_lot s ON s.lot_id = l.lot_id
WHERE sort_item='
$sort_game'
AND lot_status = 1
GROUP BY l.lot_id
LIMIT 50
"
)
OR die (mysqli_error($link));


while($result_query = mysqli_fetch_assoc($full_query)) {
$data[] = $result_query;
}
return $data;
}
public function get_data_sort_all(){
include_once"connect_bd.php";
$full_query = mysqli_query($link,"SELECT l.lot_id,l.name_item,l.rare_item,l.price_item,l.price_ticket,
l.count_tickets,l.sort_item,l.lot_status,l.img, COUNT(s.lot_id) as count
FROM lottery l
LEFT JOIN start_lot s ON s.lot_id = l.lot_id
WHERE lot_status = 1
GROUP BY l.lot_id
LIMIT 50
"
)
OR die (mysqli_error($link));

while ($result_query = mysqli_fetch_assoc($full_query)) {
$data[] = $result_query;
}
return $data;
}
}

За книгу спасибо, будем читать
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.