Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.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$\u POST_Php_Jquery_Ajax_Post - Fatal编程技术网

发送到php时未设置Ajax$\u POST

发送到php时未设置Ajax$\u POST,php,jquery,ajax,post,Php,Jquery,Ajax,Post,我正在尝试使用ajax post将一些数据从javascript发送到php。Ajax确实成功运行,console.log(progData)和console.log(idData)显示了正确的值。数据只是没有被推送到php 我尝试了不同的数据类型,看看这是否可以修复它,但是将它放在json上就破坏了它,即使我在php文件中指定了json。我也尝试过两种方法:“POST”和类型:“POST” 下面是Ajax的POST代码 $.ajax({ method: 'POST',

我正在尝试使用ajax post将一些数据从javascript发送到php。Ajax确实成功运行,console.log(progData)和console.log(idData)显示了正确的值。数据只是没有被推送到php

我尝试了不同的数据类型,看看这是否可以修复它,但是将它放在json上就破坏了它,即使我在php文件中指定了json。我也尝试过两种方法:“POST”和类型:“POST”

下面是Ajax的POST代码

    $.ajax({
        method: 'POST',
        url: './updater.php',
        data: {
            prog: progData,
            id: idData
        },
        success: function(data){
            console.log(data);
            console.log("--------");
            console.log(progData);
            console.log(idData);
        }
    });

下面是updater.php文件代码

    include "./database.php";
    if(isset($_POST["prog"])) {
        $prog = $_POST["prog"];
        $id = $_POST["id"];

        $sql = "UPDATE tasks SET task_progress='".  $prog ."' WHERE task_id='". $id ."'";
        if ($link->query($sql) === TRUE) {
            echo "Record updated successfully           ";
            echo $prog . "          ";
            echo $id;
        } else {
            echo "Error updating record";
        }
    } else {
        echo "Prog is not set";
    }


当代码运行时,两个值prog和id被发送到php文件并上传到数据库。但是,php文件没有检测到任何$\u POST,并且在console.log(数据)上,它显示未设置$\u POST[“prog”]。根据“网络”选项卡,数据被正确地发送到php。

方法应该是类型您也可以接受SQL注入,并且应该立即解决php脚本中的语法错误(例如,
echo$prog+”;
<这是JS连接)。。。我不认为
$prog=$\u POST[“prog”]或$\u REQUEST[“prog”]
会做你认为会做的事(同样,PHP不是JS)。只需打开开发者控制台(F12)并移动到网络选项卡。然后单击按钮发布并检查数据是否已传递。或者只是发布一个请求的屏幕截图。根据这个截图,表单数据确实会被发送。