Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/368.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
Javascript 调用$.post()Jquery未成功传递参数_Javascript_Php_Jquery - Fatal编程技术网

Javascript 调用$.post()Jquery未成功传递参数

Javascript 调用$.post()Jquery未成功传递参数,javascript,php,jquery,Javascript,Php,Jquery,嗨。我正在尝试编写一个社交网站的代码,我希望收件箱能够响应和动态。我最近开始学习Jquery的目的是。我以前在谷歌上搜索过,没有找到任何帮助,所以它把我带到了这个社区。上面的Javascript/Jquery代码应该在单击SEND按钮时传递一些post参数。另一个文件inbox.php用于接收这些文件并进行适当的工作。现在是什么让我讨厌。$.post()的回调函数被执行,因此我假设参数被传递到inbox.php。但当我尝试在inbox.php中使用以下行访问它们时 /** * Crea

嗨。我正在尝试编写一个社交网站的代码,我希望收件箱能够响应和动态。我最近开始学习Jquery的目的是。我以前在谷歌上搜索过,没有找到任何帮助,所以它把我带到了这个社区。上面的Javascript/Jquery代码应该在单击SEND按钮时传递一些post参数。另一个文件inbox.php用于接收这些文件并进行适当的工作。现在是什么让我讨厌。$.post()的回调函数被执行,因此我假设参数被传递到inbox.php。但当我尝试在inbox.php中使用以下行访问它们时

    /**
 * Created by quantumveil on 2/10/15.
 */
$(document).ready(function(){


    $('a').on('click',function(){
//$href=$(this).attr('href');
    //console.log($href);
var $convoid=$(this).attr('id');
        console.log($convoid);
    //$('#convoarea').load($href);
        $.get('inbox.php',{convoid:$convoid},function(data){$('#convoarea').html(data);//the callback sets whati t had to

                //now add the on click handler to send button
                $('#send').on('click',function(){
                    var $msgbody=$('#sendbody').val();

                    console.log($msgbody);

///now what i have to do is sent this $msgbody to the inbox.php thru get k

                    $.post('inbox.php',{sendbody:$msgbody,convoid:$convoid},function(data){
                        $('#sendbody').before(data);
                            console.log('here'+$msgbody);
                    });//the callback function will append it to other messages :3
                    return false;
                });


        }//callback ends hre
        );
    return false;

});

    //for send button


});
我只收到值1,而不是消息的实际正文。下面是如何定义函数get_post的

if($msgbody=get_post('sendbody')&&$convoid=get_post('convoid'))
我试图通过$_POST['sendbody']直接访问它们,但是生成了一个未定义索引的错误。我们将非常感谢您的帮助。(PS这个js文件开头对.get()的另一个调用是传递参数,因此文件路径没有问题)

编辑:这是固定的,但我需要一个解释。我所做的只是在inbox.php中更改了第一行

function get_post($var1){
    if(isset($_POST[$var1])){$var=$_POST[$var1];
        return filter($var);}
    else return 0;

}


现在我想知道的是它是否与get_post()函数定义中的filter()函数有关。有人吗?

if($msgbody=get_post('sendbody')和&$convalid=get_post('convalid'))
当你想用双相等的
==
进行比较时,你用的是单相等的
=
if(isset($$u post['sendbody'])$msgbody=$\u post['sendbody']
你缺少了一个右括号(一行永远不容易读)@JeremyThille他使用赋值的结果(如果未定义,则为0,否则为其他值)作为布尔值,我认为在这种情况下是正确的(除非传递的值为0,否则将失败)啊,没错(尽管很奇怪)。如果$var=get_post('key')),等式的值应该是非零的,同时$var应该设置为键值。这对我来说毫无意义。get_post()方法到现在为止一直工作得很完美,那么为什么它不能与这里传递的参数一起工作呢?
if($msgbody=get_post('sendbody') 
if(isset($_POST['sendbody'])$msgbody=$_POST['sendbody']