如何在不刷新页面的情况下发送表单?

Dom*_*tan 1 html php html-email

我不懂PHP.

我不希望用户http://www.example.com/feedback-thanks.html在发送表单后转到.我想要的是发送按钮下面的文字或没有刷新页面的任何内容.

我删除header( "Location: http://www.example.com/feedback-thanks.html" );但我没有收到电子邮件,用户被重定向到feedback.php ...... :(

HTML

<form method="post" action="feedback.php">
<input name="email" type="email"/>
<textarea name="message" id="feedback-textarea" autofocus="autofocus" required="required" ></textarea>
<button type="submit" id="feedback-button-send">send</button>
</form>
Run Code Online (Sandbox Code Playgroud)

feedback.php

<?php
  $email = $_REQUEST['email'] ;
  $message = $_REQUEST['message'] ;

  mail( "abcde@gmail.com", "Subject Here",
    $message, "From: $email" );
  header( "Location: http://www.example.com/feedback-thanks.html" );
?>
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 8

你将不得不使用$.ajax()

这是我在我的一个应用程序中使用的内容

$('#submitSearch').click(function() {

        var formData = {
            searchData: $('#searchData').val(),
        };

        $.ajax({
            url: siteUrl + 'fetch/search',
            type: "POST",
            data: formData,
            cache: true,            
            beforeSend:function(){
                jQuery('#main').html('<div class="loading"><img src="' + siteUrl + 'resources/imgs/ajax-loader.gif" alt="Loading..." /></div>');
            },
            success: function(data) {
                jQuery('#main').empty();
                jQuery('#main').append(data);
            },
            error:function(x,e){
                if(x.status==0){
                    alert('You are offline!!\n Please Check Your Network.');
                }else if(x.status==404){
                    alert('Requested URL not found.');
                }else if(x.status==500){
                    alert('Internel Server Error.');
                }else if(e=='parsererror'){
                    alert('Error.\nParsing JSON Request failed.');
                }else if(e=='timeout'){
                    alert('Request Time out.');
                }else {
                    alert('Unknow Error.\n'+x.responseText);
                }
            }
        });
        return false;
    });
Run Code Online (Sandbox Code Playgroud)