我正在尝试通过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>
任何帮助都将不胜感激。
答案 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的success
和complete
回调函数,它们是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
回调中的参数进行检索。