当我将 var 从 ajax 发送到 php 时,如果 (isset $_Post[]) 不起作用

Posted

技术标签:

【中文标题】当我将 var 从 ajax 发送到 php 时,如果 (isset $_Post[]) 不起作用【英文标题】:If (isset $_Post[]) doesn't work when i send a var from ajax to php 【发布时间】:2021-12-19 13:46:43 【问题描述】:

我在尝试将 AJAX 帖子捕获到我的 php 代码时遇到问题

让我解释一下:

所以我想要做的是,当select2 上的值发生变化时,我将捕获结果以将其发送到我的 PHP,然后我想在我的数据库请求中使用它。

为了查看它是否有效,我编写了一个脚本来更改我的输入文本的值,当我从帖子中得到结果时,这是我的代码: js脚本:

$(function()
    $('#Refva').select2();
)

function changeValue()
    var txt =  (document.getElementById('Refva'));

    $.ajax(
        url : "Vente.php",
        type : "POST",
        data : ('txt':txt),
        success: function(data)
            console.log(txt);
        ,
        error : function(data)
            console.log("Une erreur s'est produite");
        
    );

PHP:

if (isset($_POST['txt']))

    $P = 'It work!';

填充输入的php脚本:

<script>
$(document).ready(function()
    var P = <?php echo json_encode($P); ?>;

    $('#Article_vendua').on('click',function()
        $('#Article_vendua').val(P);
    );
);
</script>

当我使用时:

if (!isset($_POST['txt']))

  $P = 'It work!';

我有结果了!这是合乎逻辑的,但是当我想设置 isset 时它不起作用

注意在我的控制台中我有 Post 但在我的 PHP 中没有

【问题讨论】:

***.com/help/formatting,供日后参考。 【参考方案1】:

var txt = (document.getElementById('Refva'));

在上面: txt 保存元素而不是值 你可以使用 $('#Refva').val();

$.ajax(
    url : "Vente.php",
    type : "POST",
    data : ('txt':txt),  // brackets ( ) are not required here
    success: function(data)
        console.log(txt); // you should check the data - i dont know why to check txt
    ,
    error : function(data)
        console.log("Une erreur s'est produite");
    
);

【讨论】:

嗯,值不是问题,问题是当我尝试用 if (isset($_Post[txt])) 捕获值时【参考方案2】:

尝试只发送选择元素的值和整个对象:

document.getElementById ('Refva'). value ()

【讨论】:

仍然无法正常工作:/ 我不知道问题在哪里

以上是关于当我将 var 从 ajax 发送到 php 时,如果 (isset $_Post[]) 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

ajax发布请求到没有响应的PHP(每次都是假设)

Fabric.js canvas.toDataURL() 通过 Ajax 发送到 PHP

如何使用ajax将多个数据从控制器发送到页面html

通过 Ajax 将 Summernote 代码发布到 PHP,然后插入数据库

使用 jquery ajax 将 javascript 数组变量发送到 php 脚本(获取字符串作为输出而不是数组)

尝试从 localhost 向 localhost:8000 发送数据时,ajax 调用不起作用