Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

310
Visualizações
How to send request to php file via Fetch API post method

Hello guys I just started learning php. So I was trying to make a post request from my javascript file to my php file by Fetch API when I make the request in my console I'm getting this error Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0 I don't understand why this error is happening. Please help me fix this problem.

JavaScript

// payload object
const data = {
  first_name: "first name",
  last_name: "last name"
}

// make the request
fetch("ajax-insert.php", {
  method: "POST",
  body: JSON.stringify(data),
  headers: {
    "Content-Type": "application/json; charset=UTF-8"
  }
})
  .then((response) => response.json())
  .then((data) => console.log(data))

PHP

<?php

$first_name = $_POST["first_name"];
$last_name = $_POST["last_name"];

echo $first_name;
echo "<br />";
echo $last_name;

?>
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

First your js file is missing one curly brace

  method: "POST",
  body: JSON.stringify(data),
  headers: {
    "Content-Type": "application/json; charset=UTF-8"
  }
})
    .then((response) => response.json())
    .then((data) => console.log(data))

Also, in your php, you need send back a json something like

<?php
$content = trim(file_get_contents("php://input"));

//this content should be a json already
//{"first_name":"first name","last_name":"last name"}

//if want to access values
$_arr = json_decode($content, true);
$first_name = $_arr["first_name"];
$last_name = $_arr["last_name"];

//do what ever you want to do with first_name and last_name

//after you are done, be sure to send back a json
echo json_encode(['success'=>true]);
exit()
about 4 years ago · Juan Pablo Isaza Relatório

0

You are getting this error: Uncaught (in promise) SyntaxError: Unexpected token < in JSON at position 0, because an HTML error response is being returned to the browser instead of json data.

In PHP, use file_get_contents("php://input") to get the string json and json_decode to get a php object as shown below. Note that what your javascript fetch call is expecting as returned data is only the json string

PHP

<?php

$json = file_get_contents("php://input"); // json string
echo $json;

// The following lines are only useful inside the php script
// $object = json_decode($json); // php object
// $first_name = $object->first_name;
// $last_name = $object->last_name;
// echo $first_name;
// echo "<br />";
// echo $last_name;

?>
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda