У меня есть проект, написанный на php и javascript, который позволяет пользователям «грубо» изображения. Я использую шаблон mvc с индексом. php - это контроллер, который выполняет действия, отправленные с помощью ajax, и возвращает соответствующие данные в строке json.
Я пытаюсь создать пригодный для использования ссылки, разместив запрос в URL, но я не уверен в правильном подходе. До этого момента каждый запрос был отправлен постом ajax, поэтому ajax обрабатывал ответ, который включает создание новых элементов, обновление макета и т. Д. c.
Если я добавлю? Action = foo в конец URL, я получу только строку json, поскольку контроллер отображает все для начальной загрузки страницы (javascript resources et c), а затем просто возвращает json строк на основе последующих ajax запросов. Я попытался также включить view / home. php с соответствующим кодом действия, но это просто отображает домашнюю страницу со строкой json, скрытой снизу, и этот подход не будет работать при использовании ajax.
Поскольку домашняя страница отображается только при начальной загрузке страницы, размещение действия в URL пропускает домашнюю страницу, и страница перезагружается только со строкой json. Должен ли я добавить условие теста, чтобы проверить, не был ли запрос отправлен ajax? Если я затем перезагрузю домашнюю страницу с помощью json, как мне получить правильную функцию js для обработки json? Или мне нужно полностью переосмыслить, как я структурировал свой код?
switch ($action) {
case "home":
case NULL:
include_once('view/home.php'); //this includes all relevant js resources on page load
break;
case "search":
//retrieve requested data from db then-
header('Content-Type: application/json');
echo json_encode($foo);
break;
}
Новые элементы добавляются в dom с помощью функций javascript после того, как пользователь делает запрос, используя ajax. Я пытаюсь выяснить, как повторить эту функцию, используя строку запроса в URL браузера. Чего мне не хватает?