Javascript变量到php变量

Javascript变量到php变量,javascript,php,jquery,Javascript,Php,Jquery,我想将javascript变量转换为php变量 这是我使用的jQuery代码: $('#add').click(function(){ $.post( 'user.php', {saveidnumber: idnumber}, function(){ console.log('done') } ); }); php: 它看起来像jQuery,因为控制台中没有错误,但php从不回显$s

我想将javascript变量转换为php变量

这是我使用的jQuery代码:

$('#add').click(function(){
    $.post(
        'user.php', 
        {saveidnumber: idnumber}, 
        function(){
            console.log('done')
        }
    );  
});
php:

它看起来像jQuery,因为控制台中没有错误,但php从不回显
$saveid
变量。 我做错了什么?

试试:

$.post('user.php', {saveidnumber: idnumber},
    function(result){
        console.log(result)
});
变量
result
是在
user.php
中打印的HTML


变量
$saveid
可以在控制台中查看。

当您回送
$saveid
时,它将作为响应返回,因此您必须传递函数参数,该参数捕获来自服务器端的返回值,您可以打印它,并在示例中进行解释

$('#add').click(function()
    {
        $.post('user.php', {saveidnumber: idnumber}, 
                function(data){
                   console.log(data);  //here return your $saveid;
                }
              );    
    });

我认为您误解了PHP与ajax异步请求混合的无状态概念。它是这样工作的: 1.有人发送请求获取
user.php
站点 2.服务器获取请求并对其进行处理 3.服务器返回请求的站点,仅此而已

因此,当您在该页面中使用javascript(在您的例子中是jQuery)发送POST时,它是一个带有单独响应的单独请求。这意味着您必须自己在javascript中处理此响应。请参见示例:

$('#add').click(function()
{
    $.post('user.php', {saveidnumber: idnumber}, 
        function(data){
           console.log('done');
           $('.some-class').text(data);
        }
    );    
});
这将使用class
some class
like插入对任何HTML元素的响应

<div class="some-class"></div>


您想在哪里看到php的echo?您必须在javascript部分接收它。
函数(res){console.log(res);}
以前的答案有什么区别?@KirillPisarev区别在于回答的人也应该解释原因。@KirillPisarev这不是我的答案。@KirillPisarev我用适当的注释和格式化的输出进行解释,以便OP能够轻松理解。我忘了关闭其他浏览器选项卡中的同一页,那么你的答案看起来是什么样的……啊,那么不能将javascript变量保存到php?我想将javascript保存到php中的原因是我最终想将它们保存到数据库中,这是另一回事。我在您的代码中看到了
echo
,并认为您只是想输出一些值。我知道你想做什么,但你用错词了。您不想将js变量保存到php,而是想将此变量发送到php。准确地说,您希望发送这个变量的值。在这种情况下,您从问题中得到的代码几乎是正确的-它可以工作,但您不会看到回显的值(我解释了上面的原因)。而是更改
echo$saveid
文件内容('output.txt',$saveid)。执行它并查看
output.txt
文件``
<div class="some-class"></div>