>백엔드 개발 >PHP 튜토리얼 >내 JSON 데이터가 Ajax를 통해 PHP에서 수신되지 않는 이유는 무엇입니까?

내 JSON 데이터가 Ajax를 통해 PHP에서 수신되지 않는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-10-31 00:18:02219검색

Why is my JSON data not being received by PHP via Ajax?

Ajax를 사용하여 JSON 데이터를 PHP로 보내기

문제:
JSON 데이터를 PHP로 보내려고 할 때 Ajax를 통한 PHP 파일의 경우 데이터가 수신되지 않고 $_POST 배열에 빈 값이 포함되어 있습니다.

해결 방법:

이 문제를 해결하려면 Ajax 요청을 제거해야 합니다. contentType 옵션은 원시 데이터를 서버로 보낼 때 사용되지만 이 경우 데이터는 이미 유효한 JSON 형식입니다. 이를 제거하면 서버가 자동으로 JSON 데이터를 올바르게 처리합니다.

또한 이 컨텍스트에서는 JSON.stringify 및 json_decode 함수가 필요하지 않습니다. 대신 postData 객체를 요청 페이로드로 직접 사용할 수 있습니다.

업데이트된 Ajax 코드:

$.ajax({
  type: "POST",
  dataType: "json",
  url: "add_cart.php",
  data: {myData: postData},
  success: function(data){
    alert('Items added');
  },
  error: function(e){
    console.log(e.message);
  }
});

업데이트된 PHP 코드:

if(isset($_POST['myData'])){
  $obj = $_POST['myData'];
  // Some PHP operation
}

위 내용은 내 JSON 데이터가 Ajax를 통해 PHP에서 수신되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.