Php 使用ajax和数据断开链接将多个变量传递到JSON 背景

Php 使用ajax和数据断开链接将多个变量传递到JSON 背景,php,ajax,json,variables,dynamic-data,Php,Ajax,Json,Variables,Dynamic Data,我有一个web应用程序,它使用链接和jQuery处理程序通过ajax提交信息,在外部PHP文件中执行一个函数…… 我在传递变量时收到此错误 PHP致命错误:函数名必须是..中的字符串。。。。。第7行(检查php的注释) 我到底做错了什么 正在传递信息的链接 PHP文件摘要 即使在测试并将JSON.stringify(xyz)添加到变量之后,似乎也没有什么帮助 这些是数组,因此您需要使用括号表示法来访问它们,而不是像函数一样: $id = $_POST['letterid']; $type = $

我有一个web应用程序,它使用链接和jQuery处理程序通过ajax提交信息,在外部PHP文件中执行一个函数……
我在传递变量时收到此错误

PHP致命错误:函数名必须是..中的字符串。。。。。第7行(检查php的注释)

我到底做错了什么

正在传递信息的链接 PHP文件摘要 即使在测试并将JSON.stringify(xyz)添加到变量之后,似乎也没有什么帮助

这些是数组,因此您需要使用括号表示法来访问它们,而不是像函数一样:

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

@霍克霍罗:不用担心。我们都有这样的日子。但请注意先阅读错误。它提到了一个函数,但您知道这一行没有任何函数调用。这就是为什么PHP认为这是一个函数调用的线索。您认为我仍然需要JSON.stringify吗?如果您使用
JSON.stringify
,那么在PHP端,您需要使用
JSON_decode()
将JSON字符串转换为PHP数组(或stdclass实例,具体取决于您的可选参数)。我建议不要使用JSON.stringify,因为它只在需要向服务器发送数组或对象时才有用。你不应该把原语串起来。
$('#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);}
        });});
//It Fails Right Here, and says that Fatal Error, shown above
$id=$_POST('letterid');
$type=$_POST('type');
if ($type == "failValidate") { //do something, etc....}
$id = $_POST['letterid'];
$type = $_POST['type'];