PHP页面没有收到jQuery / Ajax POST vars

时间:2013-04-14 16:14:27

标签: php jquery ajax post

我有一个非常简单的注册表格。表单随jQuery / Ajax一起发送到PHP页面进行处理。我在我的应用程序中到处使用这个相同的代码,但由于某种原因,在这一页上,它只是不起作用,我试图找出问题所在。这个页面没什么特别的,它在同一个域名上,所以我在这里不知所措......

提交表单时,以下jQuery函数处理表单:

var dataString = $(event.target).serialize();
var url = '/post/register.php';

console.log( dataString ); // OUTPUTS firstname=Andrew&email=me@email.com

$.ajax({
        type: "POST",
    url: url,
    data: dataString,
    dataType: "text",
    error: function(jqXHR,textStatus,errorThrown) {
        // ERROR
    },
    success: handleRegistration
});

控制台显示表单中的数据已正确序列化。

在PHP页面(register.php)上,我只需要以下代码:

$newArr[]= array('email'=>$_POST['email'], 'firstname'=>$_POST['firstname']);

ob_start();
print_r($newArr);   
$c=ob_get_contents();
ob_end_clean();             
$fp=fopen('test.txt', "wb");
fwrite($fp, $c);
fclose($fp);    

这只是将POST变量写入名为“test.txt”的TXT文件。文本文件显示变量为空:

Array
(
    [0] => Array
        (
            [firstname] => 
            [email] => 
        )

)

我不能为我的生活弄清楚为什么它没有收到POST变种。

任何?

*答案* 我为了演示目的更改了上面的网址,但在我的应用中,网址是:

var url = '/post/register';

并且寄存器文件夹中有一个“index.php”文件。

表单被发送到PHP页面但因为我错过了尾随的'/',查询字符串没有被正确发送。所以我的问题的答案是简单地将网址更改为:

var url = '/post/register/';

我这是一个多么愚蠢的错误 - 这花了太长时间才弄明白:S

0 个答案:

没有答案