>  기사  >  백엔드 개발  >  내 jQuery 양식 제출이 내 PHP 서버에 도달하지 못하는 이유는 무엇입니까?

내 jQuery 양식 제출이 내 PHP 서버에 도달하지 못하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-10-31 08:11:02249검색

Why is my jQuery form submission not reaching my PHP server?

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

문제: jQuery 결과를 사용하여 양식의 데이터 전송 시도 서버에 데이터가 도달하지 않습니다.

HTML 형식:

<code class="html"><form id="contactForm" name="contactForm" method="post">
    <!-- Input fields and textarea -->
    <input id="submitBtn" type="submit" name="submit" value="Trimite">
</form></code>

JavaScript(jQuery):

<code class="javascript">$(document).ready(function(e) {
    $("#contactForm").submit(function() {
        $.post("getcontact.php", $("#contactForm").serialize())
        .done(function(data) {
            if (data.trim().length > 0) {
                $("#sent").text("Error");
            } else {
                $("#sent").text("Success");
            }
        });

        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>

원인:

문제는 $.post() 사용에 있습니다. 방법. 기본적으로 jQuery는 application/x-www-form-urlencoded 형식으로 데이터를 보냅니다. 그러나 PHP의 $_REQUEST 슈퍼 전역은 양식 제출을 위해 데이터가 다중 부분/양식 데이터 형식일 것으로 예상합니다.

해결책:

이 문제를 해결하는 한 가지 방법은 다음과 같습니다. contentType 및 processData 옵션이 false로 설정된 $.ajax() 메서드를 사용하세요.

<code class="javascript">var datastring = $("#contactForm").serialize();
$.ajax({
    type: "POST",
    url: "your url.php",
    data: datastring,
    contentType: false,
    processData: false,
    dataType: "json", // If desired
    success: function(data) {
        // Handle success
    },
    error: function() {
        // Handle error
    }
});</code>

또 다른 옵션은 PHP 스크립트에서 var_dump($_POST) 문을 사용하여 양식 제출을 디버깅하고 결정하는 것입니다. 데이터가 제대로 수신되고 있는지.

위 내용은 내 jQuery 양식 제출이 내 PHP 서버에 도달하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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