如何在成功的AJAX/jQuery帖子中返回PHP变量

如何在成功的AJAX/jQuery帖子中返回PHP变量,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,如何使用AJAX在PHP中返回变量?我目前正在控制器中使用echo在下拉列表中显示价格。在名为price的div中进行更改 但是,我有一个隐藏字段,需要在更改时将行id返回给该字段。如何在jQuery中分配返回变量,以便在隐藏字段中回显它 jQuery 控制器 看法 这是我的隐藏字段,我想在每次更改表单时将VAR传递给它。 /> 谢谢你的帮助 嗯。。一个选项是返回一个JSON对象。要在PHP中创建JSON对象,首先从一个值数组开始,然后执行JSON_encode$arr。这将返回一个JSON字符

如何使用AJAX在PHP中返回变量?我目前正在控制器中使用echo在下拉列表中显示价格。在名为price的div中进行更改

但是,我有一个隐藏字段,需要在更改时将行id返回给该字段。如何在jQuery中分配返回变量,以便在隐藏字段中回显它

jQuery 控制器 看法 这是我的隐藏字段,我想在每次更改表单时将VAR传递给它。 />


谢谢你的帮助

嗯。。一个选项是返回一个JSON对象。要在PHP中创建JSON对象,首先从一个值数组开始,然后执行JSON_encode$arr。这将返回一个JSON字符串

$arr = array(
  'stack'=>'overflow',
  'key'=>'value'
);
echo json_encode($arr);

{"stack":"overflow","key":"value"}
现在,在jQuery中,您必须告诉$.ajax调用您需要一些JSON返回值,因此您需要指定另一个参数-dataType:'JSON'。现在,success函数中返回的值将是一个普通的JavaScript对象

$.ajax({
  type: "POST",
  url: "...",
  data: query,
  dataType: 'json',
  success: function(data){
    console.log(data.stack); // overflow
    console.log(data.key);   // value
  }
});
出口不显示除应答外的其他内容。响应最好是数组或对象。 你可以在

success: function(data)
             { data }
数据是响应数组或您回送的任何内容。。 例如

echo json_encode(array('some_key'=>'yesss')); exit();
在jquery

success: function(data){ alert(data.some_key); }

若您只从php respone向ajax返回单个值,那个么您可以使用val方法将其设置为隐藏字段

$("#hidden_fld").val(return_val); 

我执行了你的建议。它似乎在工作,但有一些问题。。请看新问题谢谢;如何将此字符串放入php变量?@151291-在我的示例中,当此代码执行AJAX请求时,查询变量中的数据将到达$\u POST变量中。@151291-不清楚您在问什么。。如果你在一个已经存在的问题上找不到答案,请打开一篇新的帖子。@151291-如果没有看到你正在使用的代码,很难提出建议。这就是为什么我建议打开一篇新文章来解决您的问题。controller返回json编码的对象,如何将此对象转换为php脚本?这意味着如何将json对象从ajax成功函数传递到phpscript@151291要启动任何PHP操作,必须发出新请求,因此必须再次发出ajax。。但是将第二个ajax触发到同一个脚本并不是合乎逻辑的,最好将您的逻辑放在使用ajax请求触发的第一个脚本中,然后运行您想要添加的第二个逻辑。当然,如果可能的话。。否则您必须创建一个新的ajax requestjson.decode不是PHP函数。请转到PHP.net并搜索JSON处理文档,文档已满,您将理解它。我不是老师。这是我的错,不是json。解码它的json_解码,所以这是php函数,对吗?从你的回答来看,如果它是object,我如何将数据值输入php脚本。
echo json_encode(array('some_key'=>'yesss')); exit();
success: function(data){ alert(data.some_key); }
$("#hidden_fld").val(return_val);