使用PHP处理Jquery Ajax表单提交

3

最近我在使用Jquery和Ajax提交表单时遇到了一些问题。我有一个非常简单的表单,包括用户名字段和密码字段以及一个提交按钮。表单应该执行的操作是,一旦提交表单,信息将通过Ajax发送到一个php文件,然后将表单值添加到数据库中。我遇到的问题是如何将Ajax中的值传递到php。以下是我的代码:

$('#form').submit(function(){

var username = $('#username').val();
var password = $('#password').val();

var dataString = 'uname=' + username + '&passw=' + password;


$.ajax({

    type: "POST",
    url:'check.php',
    data: dataString,

    success: function(data){
        alert(data);//only for testing purposes
    }
});

我不明白的是如何用PHP获取这个dataString?


check.php 中的 $_POST['uname'] 没有起作用吗? - Andrius Naruševičius
@AndriusNaruševičius 我通过将 .submit 更改为 .blur 进行测试,以便实时监控它,当我尝试 $_POST['uname'] 时,它会给出“未定义的索引”错误。 - Tomkarho
$_POST['uname'] - 你不是少了一个 ' 吗?你确定你的用户名变量也被接收到了吗? - Andrius Naruševičius
2个回答

1

PHP文件:

<?php
    print_r($_POST);
?>

jQuery部分:

var dataString = 'uname=555';
$.ajax({
    type: "POST",
    url:'check.php',
    data: dataString,

    success: function(data){
        alert(data);//only for testing purposes
    }
});

带给我:

enter image description here

所以我唯一的猜测就是你在JavaScript中未能成功获取数据。

还有一个想法。将类型替换为"GET"。然后在php文件中写入一行:

echo $_SERVER["REQUEST_URI"];

这个提示框给你什么? :)

0
无论是通过Ajax还是非Ajax方式发送的POST请求,都可以在PHP全局数组$_POST中找到。
为了测试,请将以下内容放置在check.php中:
<?php 
print_r($_POST);
?>

这应该反映在你的alert()中的Ajax变量


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接