如何从PHP文件中获取值到我的ajax结果

时间:2017-11-10 11:10:58

标签: javascript php jquery ajax

我正在发布一个像这样的php文件:

$( document ).ready(function() {
  $(document).on('click', '.menulistnaam', function (){
        var menucatnaam = $(this).attr('id');

      $.post("include/menuinclude.php?menucat="+menucatnaam, function(result){
          $("#menukaart").html(result);
      });
  });
});

一切正常,但我想将特定结果发回给此代码。

在我的PHP中,我有以下内容:

$menucatnaam = $_GET['menucat'];

$menu = "
select
  cnt.catid, cat.id, cnt.title, cnt.introtext, cnt.fulltext, cnt.ordering, cnt.images, cnt.alias, cnt.state, f.item_id, cat.id, cat.title,
  max(case when f.field_id = 8 then f.value end) as nieuw,
  max(case when f.field_id = 7 then f.value end) as beschrijving,
  max(case when f.field_id = 5 then f.value end) as prijs,
  max(case when f.field_id = 4 then f.value end) as inhoud,
  max(case when f.field_id = 3 then f.value end) as media
  from snm_fields_values f
  join snm_content cnt
  on cnt.id = f.item_id
  join snm_categories cat
  on cnt.catid = cat.id
  where cnt.state = 1
  and cat.alias = '".$menucatnaam."'
  group by f.item_id
  order by f.item_id, media, beschrijving, prijs, inhoud, nieuw
";

如何发回$menucatnaam的价值?

最后,我想检查点击了哪个锚标记,然后给它一个active类。

我google了一下,发现我必须创建一个数组,然后用json编码它,但我无法让它工作。

我的尝试是这样的:

$aliasjson = json_encode(array("aliasresult"=>"$menucatnaam"));
echo $aliasjson;

然后是我的js:

$.post('include/menuinclude.php', {"menucat": menucatnaam}, function (result) {
    $("#menukaart").html(result);
    console.log(result.aliasresult);
}, 'json');

但是,当我点击一个锚标签时,没有发生任何事情,这根本没有给我我想要的结果。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

在ajax调用中添加以下参数

dataType: "json",//tells jQuery that you want it to parse the returned JSON

并在收到回复后

result = jQuery.parseJSON(result);//parsing JSON to string
console.log(result.result);

或者   不要改变任何jquery代码只需从PHP回显所需的参数

echo $menucatnaam;