无法更新数据库中的数据。 jQuery、php

unable to update data in db. jQuery, php

我在前端使用 jQuery,在后端使用 php。我有一些跨源问题,我已经修复了。但现在我正在填写表格(注册),但数据库正在更新,甚至没有空行。在我在数据库中得到一些空行之前(我敢肯定,那天我的记忆有点模糊!抱歉!!)我找不到任何问题,因为 [=29= 中没有出现错误或成功消息] 文件。我尝试 http://localhost/signup.php 并在连接到数据库时显示成功消息。所以我确信它连接到正确的数据库。我还尝试使用 php 手动输入,并且我也能够导入数据。

我在下面添加 jQuery 和 php 代码。我在 XAMPP 中使用了所有这些。提前致谢。 :)

jQuery:

$("#userReg_btn").click(function(e) 
{
    //user registration in


    var array = [];
    var flag = false;

    var fullName = $("#uFn").val();
    var email = $("#uEa").val();
    var mobile = $("#uMn").val();
    var nID = $("#uNm").val();
    var zip = $("#uZc").val();
    var prof = $("#uPc").val();



    array.push(fullName);
        array.push(email);
        array.push(mobile);
        array.push(nID);
        array.push(zip);
        array.push(prof);

        alert(array);
        console.log(array);
    $.ajax({
            url:"http://localhost/signup.php",
            data:
            {
                fullName: array[0],
                email: array[1],
                mobile: array[2],
                nID: array[3],
                zip: array[4],
                prof: array[5],
            },
            type:"POST",
            dataType:"json",
            success:function(e){
                alert("in success");
                alert(e);
                console.log("success");
            },
            error:function(e)
            {
                alert("error is hit");
                alert(e);
                console.log(e);
            }
        });
     });

和php 文件:

<?php

header('Cache-Control: no-cache, must-revalidate');
header('Expires: Mon, 01 Jan 2016 00:00:00 GMT');

header('Content-type: application/json');
     $con=mysql_connect("localhost","root", "");
     mysql_select_db("tester",$con);


$name = $_GET['fullName'];
$email= $_GET['email'];
$mobile= $_GET['mobile'];
$nID = $_GET['nID'];
$zip = $_GET['zip'];
$prof= $_GET['prof'];
$query="INSERT INTO user_reg(fullName,email,mobile,nID,zip,prof) VALUES('$name','$email', '$mobile','$nID','$zip','$prof');";

echo $name;

   if(mysql_query($query))
   {
       echo "success";
   }else{
   echo  mysql_error();
   }

//}

?>

再次提前致谢:)

您的数据 object 包含一个不应该存在的额外 ,。此外,如果您要 发送 json(请注意,我不确定您是否愿意,但 headers 建议这样做):

data: JSON.stringify({
        fullName: array[0],
        email: array[1],
        mobile: array[2],
        nID: array[3],
        zip: array[4],
        prof: array[5]
}),

您还需要设置 ajax post 的 contentType:

contentType: 'application/json',

我发现您的 php 脚本有问题。在您的 AJAX 调用中,您将 HTTP 请求声明为 post。但是在您的 php 脚本中,您正在使用 $_GET 方法来查找变量。使用 $_POST.

在您的 PHP 脚本中:

$name = $_GET['fullName']

变成

$name = $_POST['fullName'];

对所有变量执行此操作。

您得到空白行的原因是变量为空白。通过将方法更改为 $_POST,您的脚本将能够找到变量