Php 使用ajax和数据断开链接将多个变量传递到JSON 背景
我有一个web应用程序,它使用链接和jQuery处理程序通过ajax提交信息,在外部PHP文件中执行一个函数……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 = $
我在传递变量时收到此错误 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'];