Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php AJAX表单提交和结果_Php_Jquery_Ajax_Forms - Fatal编程技术网

Php AJAX表单提交和结果

Php 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

今天刚刚通过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="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);