내 jQuery 직렬화된 양식이 내 PHP 스크립트로 데이터를 보내지 않는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-02 22:25:03
원래의
470명이 탐색했습니다.

Why is my jQuery serialized form not sending data to my PHP script?

jQuery와 PHP를 사용하여 양식 직렬화 및 제출

문제:

직렬화된 양식 jQuery를 사용하면 PHP 스크립트로 데이터를 보낼 수 없습니다. 서버가 데이터를 수신하지 않습니다.

HTML 양식:

`




`

JavaScript:

<code class="javascript">$("#contactForm").submit(function() {
  $.post("getcontact.php", $("#contactForm").serialize())
    .done(function(data) {
      // handle response
    });

  return false;
});</code>
로그인 후 복사

서버측 PHP(getcontact.php):

<code class="php">$nume = $_REQUEST["nume"]; // empty
$email = $_REQUEST["email"]; // empty
$telefon = $_REQUEST["telefon"]; // empty
$comentarii = $_REQUEST["comentarii"]; // empty</code>
로그인 후 복사

해결책:

jQuery.post() 코드를 다음으로 바꾸세요.

<code class="javascript">var datastring = $("#contactForm").serialize();
$.ajax({
  type: "POST", // method
  url: "your url.php", // action
  data: datastring, // form data
  dataType: "json", // expected response type
  success: function(data) {
    // handle response
  },
  error: function() {
    // handle error
  }
});</code>
로그인 후 복사

추가 참고 사항:

  • dataType을 "jsonp"로 설정 " 교차 도메인 요청의 경우
  • 요청 전 및 요청 후 작업에 대해 beforeSend 및 전체 콜백을 사용하세요.
  • 동기 요청의 경우 async: false 사용을 고려하세요.
  • 비활성화 캐시로 캐싱: false.
  • 자세한 내용은 공식 문서를 참조하세요.

업데이트

  • var_dump($_POST )은 빈 배열을 반환해야 합니다.
  • 이 문제는 PHP.ini 파일이 잘못 구성되었거나 파일 업로드가 비활성화된 등 서버와 관련된 문제일 수 있습니다.

위 내용은 내 jQuery 직렬화된 양식이 내 PHP 스크립트로 데이터를 보내지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿