Test with send any query
This commit is contained in:
@@ -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>
|
||||||
|
|||||||
@@ -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
|
||||||
Reference in New Issue
Block a user