【问题标题】:Can't get parameters passed to page callback无法获取传递给页面回调的参数
【发布时间】:2017-06-29 17:46:10
【问题描述】:

我在 drupal php 中创建了一个模块,然后我创建了一个选择:

<select name="form" id="room"> 
  <option value="0" text="" ><?= t('Select a value')?></option> 
  <option value="1" text="admin_service_participant"><?= t('Services participants')?> </option>
  <option value="2" text="admin_service_candidat"><?=t('Services candidats')?></option>
  <option value="3" text="admin_service_nomine"> <?=t('Services nominés')?></option>
  <option value="4" text="admin_service_gagnant"><?=t('Services gagnants')?></option>
</select>

<div id="list"></div>

<script>
     jQuery(document).ready(function () {
                    jQuery('#room').change(function () {
                        var numero = jQuery(this).val();
                        jQuery.ajax({
                            url :'<?= url("admin/get-admin-statistique/%")?>',
                            data: numero,
                            type: "POST",
                            success: function (datad) {
                                jQuery('#list').html(datad);
                            },
                            error: function () {
                                alert("Erreur de récupération");
                            }
                        })
                    });
                     });
</script>

我有 4 个模板,我用 ajax 在更改时加载,我为此方法实现了一个带有 1 个参数的 hook_menu:

$items['admin/get-admin-statistique/%'] = array(
        'title' => t('Admin Statistiques'),
        'page callback' => 'GetStatistique',
        'page arguments' => array(1),
        'type' => MENU_CALLBACK,
        'access callback' => TRUE,
    );

以及方法:

 function GetStatistique($numero){

    if($numero==1)
    {
    return theme('admin_service_candidat',array());
    }
    elseif ($numero==2) 
    {
    return theme('admin_service_candidat',array());
    }
    elseif($numero==3)
    {
    return theme('admin_service_nomine',array());
    }
    elseif($numero==4)
    {
    return theme('admin_service_participant',array());
    }

}

问题是我的参数是 null ,$numero =0 我不知道为什么我的方法 Getstatistique 没有得到数字

最好的问候。

【问题讨论】:

  • 在 .net 中我总是使用这个:url: '@url.action("XXX", "XXX")', data: { Indice: numero },带有控制器的局部视图参数和绑定直接进行,但在 php 中,我不知道绑定是如何进行的,我尝试了 data: { 'numero' : numeroval, }, not working

标签: javascript php jquery drupal-7


【解决方案1】:

这样试试....

url:Drupal.settings.basePath + 'admin/get-admin-statistique/'+numero

并从您的 ajax 请求中删除 data

我认为这可能对你有用。

谢谢,

【讨论】:

  • 还必须添加 $numero=arg(2);在我的 GetStatistique 方法中。
猜你喜欢
  • 1970-01-01
  • 2011-09-27
  • 1970-01-01
  • 2016-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-12
相关资源
最近更新 更多