Php AJAX表单提交和结果
今天刚刚通过JQuery开始使用AJAX,我一事无成。作为一个例子,我为它设置了一个工作。提交表单,然后显示结果。很明显,我做得不对 HTMLPhp AJAX表单提交和结果,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,今天刚刚通过JQuery开始使用AJAX,我一事无成。作为一个例子,我为它设置了一个工作。提交表单,然后显示结果。很明显,我做得不对 HTML <form id="PST_DT" name="PST_DT" method="post"> <input name="product_title_1682" id="product_title_1682" type="hidden" value="PADI Open Water"> <input name="produc
<form id="PST_DT" name="PST_DT" method="post">
<input name="product_title_1682" id="product_title_1682" type="hidden" value="PADI Open Water">
<input name="product_title_1683" id="product_title_1683" type="hidden" value="PADI Advanced Open Water">
<input type="submit" name="submit" id="submit" value="Continue" onclick="product_analysis_global(); test();"/>
</form>
<span id="results"></span>
还有PHP
<?php
$alpha = $_POST['alpha'];
echo 'Marvellous',$alpha;
?>
那是我的尝试,什么也没发生。有什么想法吗
好极了。在AJAX请求中,您发送了参数
foo.php?text=…
,但在php文件中,您调用了$\u POST['alpha']
,它查找foo.php?alpha=…
将
$\u POST['alpha']
更改为$\u POST['text']
,看看是否有效。有一个更简单的方法:
$("#PST_DT").submit(function(e){
e.preventDefault();
$.ajax({
data: $(this).serialize(),
type: "POST",
url: 'http://www.divethegap.com/update/functions/totals.php',
success: function(){
....do stuff.
}
});
return false;
});
这将允许您像处理普通变量一样处理变量。首先,在脚本查找
$\u POST['alpha']
时,您要将$\u POST变量作为“文本”传递。如果您将PHP更新为$\u POST['text']
,您应该会看到正确的文本
另外,如果表单将有大量输入,并且希望确保将所有输入都传递给AJAX请求,我建议使用jQuery的方法
在PHP脚本中,您可以使用以下方法调试发送的信息:
var_dump($_POST);
您可以使用data:text:alpha代替data:text='+alpha。另外,表单和php页面是否在同一个域中?都在同一个域中。主文件的头文件中有函数,PHP文件位于文件函数中。也可以是../../../functions/totals.phpTry,使用
$alpha=$\u POST['text']
并发布随后发生的情况。我已更正了该错误,但仍然一无所获。还有什么我遗漏的吗?你好,谢谢你的回答。我还是一事无成。当我发现我已经将结果而不是结果作为跨度的id时,我以为我发现了什么。还是什么都没发生。没有证据表明此程序正在激活。“绝对没有发生任何事情。”罗宾,我已经更新了我的答案,以提供更多帮助。有错误报告吗?就是这样。我自己刚买的。这是一系列错误的组合。它需要一个成功的函数,它需要我将PHP文件移动到更本地的地方,这是由于数据库的设置方式。
data: $('#PST_DT').serialize(), // this will build query string based off the <form>
// eg: product_title_1682=PADI+Open+Water&product_title_1683=PADI+Advanced+Open+Water
function test() {
// serialize form data
var data= $('#PST_DT').serialize();
// ajax request
$.ajax({
type : 'POST',
url : 'http://www.divethegap.com/update/functions/totals.php',
data : data,
beforeSend : function() {
$('#results').html('processing');
},
error : function() {
$('#results').html('failure');
},
// success callback
success : function (response) {
$('#results').html(response);
},
timeout : 3000,
});
};
var_dump($_POST);