使用ajax和data-off链接将多个变量传递到JSON

时间:2013-05-05 04:07:45

标签: php ajax json variables dynamic-data

背景

我有一个Web应用程序,它使用链接和jQuery处理程序通过ajax提交信息,以在外部PHP文件中执行函数....
我在传递变量

时收到此错误
  

PHP致命错误:函数名称必须是第7行的.....中的字符串(查看php的评论)

我究竟做错了什么?

传递信息的链接

<a href="#" id="tester" data-letterid="13" data-type="failValidate">This Link Fails</a>

jQuery

$('#tester').on("click",function(){ 
    var dataObj = {}
    dataObj['letterid']=$('#tester').attr("data-letterid");
    dataObj['letterid']=JSON.stringify(dataObj['letterid']);
    dataObj['type']=$('#tester').attr("data-type");
    dataObj['type']=JSON.stringify(dataObj['type']);
    $.ajax({
        url: 'super_testy.php',
        type: 'POST',
        data: dataObj,
        dataType: 'json',
        success: function(data){
            alert("success!!");

            return false;
        },
        error: function(jqXHR, textStatus, errorThrown){
            alert(textStatus);}
        });});

PHP文件摘要

//It Fails Right Here, and says that Fatal Error, shown above
$id=$_POST('letterid');
$type=$_POST('type');
if ($type == "failValidate") { //do something, etc....}
  

即使经过测试并将JSON.stringify(xyz)添加到变量似乎没有帮助

1 个答案:

答案 0 :(得分:1)

$_POST, $_GET, $_REQUEST superglobals数组,因此您需要使用括号表示法访问它们,而不是像函数一样:

$id = $_POST['letterid'];
$type = $_POST['type'];