Test with send any query

This commit is contained in:
2022-12-25 15:11:04 +01:00
parent ff9689f84c
commit a5e1c153f5
2 changed files with 32 additions and 30 deletions

View File

@@ -36,7 +36,6 @@
async function handleForm (event: Event | HTMLFormElement) { async function handleForm (event: Event | HTMLFormElement) {
const data = new FormData(this) const data = new FormData(this)
const email = data.get('email') const email = data.get('email')
console.log('form:', data, email)
if (email) { if (email) {
const req = await fetch(this.action, { const req = await fetch(this.action, {
@@ -46,15 +45,16 @@
}) })
const result: FormStatus = await req.json() const result: FormStatus = await req.json()
formStatus = result formStatus = result
console.log(result)
// If successful // // If successful
if (formStatus.success) { // if (formStatus.success) {
sendEvent('newsletterSubscribe') // sendEvent('newsletterSubscribe')
} else { // } else {
// Hide message for errors // // Hide message for errors
clearTimeout(formMessageTimeout) // clearTimeout(formMessageTimeout)
formMessageTimeout = requestAnimationFrame(() => setTimeout(() => formStatus = null, 4000)) // formMessageTimeout = requestAnimationFrame(() => setTimeout(() => formStatus = null, 4000))
} // }
} }
} }
</script> </script>

View File

@@ -3,9 +3,8 @@ import type { RequestHandler } from './$types'
import { error } from '@sveltejs/kit' import { error } from '@sveltejs/kit'
export const POST = (async ({ request, fetch }) => { export const POST = (async ({ request, fetch }) => {
const data = await request.json() const data: { email: string } = await request.json()
const { email } = data const { email } = data
console.log('server:', data, email)
// No email // No email
if (!email) { if (!email) {
@@ -16,25 +15,28 @@ export const POST = (async ({ request, fetch }) => {
throw error(400, { message: 'INVALID_EMAIL' }) throw error(400, { message: 'INVALID_EMAIL' })
} }
// Newsletter API request
const req = await fetch(`https://emailoctopus.com/api/1.6/lists/${NEWSLETTER_LIST_ID}/contacts`, {
method: 'POST',
headers: { 'content-type': 'application/json' },
body: JSON.stringify({
api_key: NEWSLETTER_API_TOKEN,
email_address: email,
})
})
const res = await req.json()
console.log('server:', res)
// Other error
if (res && res.status !== 'PENDING') {
throw error(400, { message: res.error.code })
}
return new Response(JSON.stringify({ return new Response(JSON.stringify({
success: true, email,
message: res.status,
})) }))
// // Newsletter API request
// const req = await fetch(`https://emailoctopus.com/api/1.6/lists/${NEWSLETTER_LIST_ID}/contacts`, {
// method: 'POST',
// headers: { 'Content-Type': 'application/json' },
// body: JSON.stringify({
// api_key: NEWSLETTER_API_TOKEN,
// email_address: email,
// })
// })
// const res = await req.json()
// // Other error
// if (res && res.status !== 'PENDING') {
// throw error(400, { message: res.error.code })
// }
// return new Response(JSON.stringify({
// success: true,
// message: res.status,
// }))
}) satisfies RequestHandler }) satisfies RequestHandler