ghardin137
ghardin1373y ago

Getting HTML 200 from fetch instead of JSON

did you request json from the backend? not sure if it expects to be told what to return
37 Replies
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
oh yeah response.json is going to be a function ok so the backend should never return anything BUT json
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
these are on different ports yeah?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
i mean http://localhost:8080 vs http://localhost:8081
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
ah so that's one problem
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
you're making the request in your frontend, to your front end server
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
fetch(`/payment_intents/${paymentIntent.id}/capture`, {
fetch(`/payment_intents/${paymentIntent.id}/capture`, {
says fetch from the same origin i'm on /payment_intents/${paymentIntent.id}/capture
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
it doesn't know that your backend is on a different server it only knows what you told it so you'd either want to tell it that and deal with CORS or you'd set up proxying
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
well right now it's not it's just giving you the html that would kickstart your front end because it doesn't know what to do with that path
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
no absolutely not you're making a request to http://localhost:8080/payment_intents/${paymentIntent.id}/capture your front end server has no idea what to do with that so it's just serving up the base html
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
what did you change it do?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
ah ok then yeah that MAY be getting a CORS error
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
i don't know if cloudfunctions would let you change the cors headers but possibly
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
the browser is telling you it's a cors issue
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
are they going to the same place?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
on the same cloudfunction? or different ones?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
hrmm. i don't know a ton about cloudfunctions is it similar to lambda on aws?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
ah ok. so what's in that file? are you applying the cors headers to everything?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View
ghardin137
ghardin1373y ago
hrmm yeah that ought to work if you open up the network devtools and find the request that isn't working what do you see in the request headers and response headers sections?
Unknown User
Unknown User3y ago
Message Not Public
Sign In & Join Server To View