我正在发布一个像这样的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');
但是,当我点击一个锚标签时,没有发生任何事情,这根本没有给我我想要的结果。
我该怎么做?
答案 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;