传递HTML表单值/加载.php文件

时间:2017-06-22 18:35:23

标签: php jquery

我正在尝试通过jquery / javascript将表单 $ _ POST ['txtBody'] 的参数传递给div。

要加载的PHP文件:

Ajax的rewriter.php

<?php 
if ($_SERVER["REQUEST_METHOD"] == "POST") {
    print_r($_POST);
    $articleBody = strtolower($_POST['txt']);
    echo "<pre><b>Original:</b><br /><br /><p>" . $articleBody . "</p></pre>";   
    $word       = "";
    $length     = strlen($articleBody);
    $OutputBody = "";
    for ($i = 0; $i < $length; $i++) {
        $word = $word . $articleBody[$i];
        if ($i == $length - 1)
            $comeCha = " ";
        else
            $comeCha = $articleBody[$i + 1];
        $retStr = getWordPattern($word, $comeCha, "syn/en.syn");
        if ($retStr != "") {
            $OutputBody .= $retStr;
            $word = "";
        }
    }
    echo "<br>";
    echo "<pre><b>Spun:</b><br /><br /><p>" . $OutputBody . $word . "</p></pre>";
}
?>

HTML表单:

    <div id="mainContent"></div>
        <div class="panel panel-primary">
            <div class="panel-heading">Your article rewriter API is: (<span class="results"><b>http://www.wraithseo.com/api.php?rewriter=1&key=<?php echo $user['api_key']; ?></b></span>)</div>
            <div class="panel-body">

                    <form id="frmAjax" action="rewriter.php" method="post" class="form-horizontal container-fluid" role="form">
                    <div class="row form-group">
                        <div class="col-sm-4 text-right"><label for="txtBody" class="control-label">Article:</label></div>
                        <div class="col-sm-8"><textarea class="form-control" id="txtBody" name="txtBody" required="required"></textarea></div>
                    </div>

                    <div class="row form-group">
                        <div class="col-sm-12 text-right">
                            <button type="submit" name="spinText" class="btn btn-default">Spin!</button>
                        </div>
                    </div>                      
                    </form>
            </div>
            <div class="panel-footer">Paste in an article above and hit <b>Spin</b>!</div>
        </div>
<script>
    $(document).ready(function(){
        $('#frmAjax').submit(function(e) {
          e.preventDefault(); // important so the submit doesn't clear the data...
          $.ajax({
                type: "POST",
                url: "ajax-rewriter.php",
                data:{ txt: <?php echo $_POST['txtBody']; ?> }
          })          
          $("#mainContent").load('ajax-rewriter.php')
        });
    });
</script>

我已经尝试但不记得将 $ _ POST ['txtBody'] 值传递给加载的.php文件的正确方法,并将其显示在div < / p>

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

因此,您希望将要输入的任何内容发送到要传递到php文件 ajax-rewriter.php <textarea class="form-control" id="txtBody" name="txtBody" required="required"></textarea>元素,以便通过JQuery ajax进行处理,对吗? / p>

我认为您不应该尝试从AJAX请求中获取$ _POST变量。相反,您通过AJAX请求(使用POST方法发送数据)发送textarea的值。

以下是我认为您正在寻找的内容:

   $(document).ready(function(){
        $('#frmAjax').submit(function(e) {
          var text = $('#txtBody').val();   // ADDED THIS
          e.preventDefault();
          $.ajax({
                type: "POST",
                url: "ajax-rewriter.php",
                data:{textData : text}      // MODIFIED THIS
          })          
          $("#mainContent").load('ajax-rewriter.php')
        });
    });

然后,在您的php文件中,您可以通过$ _POST变量获取text变量:

$data = $_POST["textData"];

然后,您可以选择使用php文件中的数据执行任何操作。如果你试图通过ajax将数据发送到php,通过php修改它,然后将其作为对ajax请求的响应发回,查看JQuery的successcomplete回调函数,它们是JQuery ajax调用。

以下是使用成功回调的示例:

   $.ajax({
        type: "POST",
        url: "email.php",
        data: {fullName, phoneNumber, email, comments, response},
        success: function(dataRetrieved){
            $("#response").html(dataRetrieved);
        }
    });

php文件 email.php 通过$ _POST通过ajax请求接收数据,处理它,然后 email.php 文件将echo数据作为服务器的输出。回显的数据作为对ajax请求的响应发回,可以作为success回调中的参数进行检索。