mirror of
https://github.com/Floriansylvain/projet_programmation_web.git
synced 2026-08-19 11:43:16 +02:00
🎨 Added correct json struct to API responses
This commit is contained in:
@@ -21,6 +21,9 @@ $json_object = match ($q) {
|
|||||||
default => NULL,
|
default => NULL,
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO : Rajouter la structure status message data
|
$json = json_encode(array(
|
||||||
$json = json_encode($json_object);
|
"status" => 200,
|
||||||
|
"message" => "Results : " . count($json_object), "data" => $json_object
|
||||||
|
),JSON_PRETTY_PRINT);
|
||||||
|
|
||||||
print_r($json);
|
print_r($json);
|
||||||
|
|||||||
+11
-10
@@ -13,8 +13,11 @@ let lastRequest = null
|
|||||||
function requestToApi(author) {
|
function requestToApi(author) {
|
||||||
if (lastRequest === null || (new Date().getTime() - lastRequest) > 1000) {
|
if (lastRequest === null || (new Date().getTime() - lastRequest) > 1000) {
|
||||||
lastRequest = new Date().getTime()
|
lastRequest = new Date().getTime()
|
||||||
|
document.querySelector('#results-count').innerHTML = ""
|
||||||
|
document.querySelector('#results').innerHTML = ""
|
||||||
loader.style.display = "block"
|
loader.style.display = "block"
|
||||||
authorName = author
|
authorName = author.replace(/[^a-zA-Z0-9]/g,'')
|
||||||
|
console.log(authorName)
|
||||||
fetch(`api.php?q=theses&author=${author}`)
|
fetch(`api.php?q=theses&author=${author}`)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(data => displayResults(data))
|
.then(data => displayResults(data))
|
||||||
@@ -41,14 +44,10 @@ function displayResults(results) {
|
|||||||
error.classList.add("fade-in");
|
error.classList.add("fade-in");
|
||||||
errorMessage.innerHTML = results.message
|
errorMessage.innerHTML = results.message
|
||||||
return;
|
return;
|
||||||
}
|
} else if (results.status === 200) {
|
||||||
|
|
||||||
document.querySelector('#results-count').innerHTML = ""
|
|
||||||
document.querySelector('#results').innerHTML = ""
|
|
||||||
|
|
||||||
let count = 0
|
let count = 0
|
||||||
|
|
||||||
results.forEach(elem => {
|
results.data.forEach(elem => {
|
||||||
let result = document.createElement('div')
|
let result = document.createElement('div')
|
||||||
result.classList.add('result-element')
|
result.classList.add('result-element')
|
||||||
let i = 0
|
let i = 0
|
||||||
@@ -72,22 +71,24 @@ function displayResults(results) {
|
|||||||
window.addEventListener('scroll', fadeIn);
|
window.addEventListener('scroll', fadeIn);
|
||||||
fadeIn()
|
fadeIn()
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
let lastSearch = ""
|
let lastSearch = ""
|
||||||
let lastSuggestion = new Date().getTime()
|
let lastSuggestion = new Date().getTime()
|
||||||
let suggestionsDisplayed = false
|
let suggestionsDisplayed = false
|
||||||
|
|
||||||
function realTimeDisplay() {
|
function realTimeDisplay() {
|
||||||
let search = document.getElementsByName("author")[0].value
|
let search = document.querySelector('input[name=\'author\']').value
|
||||||
|
search = search.replace(/[^a-zA-Z0-9 ]/g,'')
|
||||||
if (search.length > 3 && (search !== lastSearch || (new Date().getTime() - lastSuggestion) > 500)) {
|
if (search.length > 3 && (search !== lastSearch || (new Date().getTime() - lastSuggestion) > 500)) {
|
||||||
showSuggestions()
|
showSuggestions()
|
||||||
lastSearch = search
|
lastSearch = search
|
||||||
lastSuggestion = new Date().getTime()
|
lastSuggestion = new Date().getTime()
|
||||||
fetch(`api.php?q=authors&author=${search}`)
|
fetch(`api.php?q=authors&author=${search}`)
|
||||||
.then(response => response.json())
|
.then(response => response.json())
|
||||||
.then(function(data) {
|
.then(results => {
|
||||||
suggestions.innerHTML = ""
|
suggestions.innerHTML = ""
|
||||||
data.forEach(elem => {
|
results.data.forEach(elem => {
|
||||||
let name = document.createElement('p')
|
let name = document.createElement('p')
|
||||||
name.innerHTML = elem
|
name.innerHTML = elem
|
||||||
name.addEventListener('click', () => {
|
name.addEventListener('click', () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user