Javascript Drupal$get未返回完整的HTML
我已经编写了一个Drupal模块,试图通过$get调用.module文件。它工作正常。但它正在返回HTML页面。自从我在drupal-7上工作以来,我尝试了drupal_json_输出。我也尝试了使用getJSON,但后来它停止了给我任何响应。请帮忙 这是我的.module文件Javascript Drupal$get未返回完整的HTML,javascript,jquery,ajax,drupal,drupal-7,Javascript,Jquery,Ajax,Drupal,Drupal 7,我已经编写了一个Drupal模块,试图通过$get调用.module文件。它工作正常。但它正在返回HTML页面。自从我在drupal-7上工作以来,我尝试了drupal_json_输出。我也尝试了使用getJSON,但后来它停止了给我任何响应。请帮忙 这是我的.module文件 <?php /** * Implementation of hook_init(). */ function ajax_privacy_init() { drupal_add_js(drupal_get_pa
<?php
/**
* Implementation of hook_init().
*/
function ajax_privacy_init() {
drupal_add_js(drupal_get_path('module','ajax_privacy').'/userprivacy.js');
}
/**
* Implementation of hook_menu().
*/
function ajax_privacy_menu() {
$items = array();
$items['user/%'] = array(
'title' => 'menu privacy',
'page callback' => 'ajax_privacy_get_html', // Render HTML
'page arguments' => array(2),
'type' => MENU_CALLBACK,
'access arguments' => array('access content'),
);
return $items;
}
/**
* Callback to return JSON encoded data.
*/
function ajax_privacy_get_html($arg) {
$array['text'] = $arg;
die(drupal_json_output($array));
}
在true时添加访问回调:
$items['user/%'] = array(
'title' => 'menu privacy',
'page callback' => 'ajax_privacy_get_html', // Render HTML
'page arguments' => array(2),
'type' => MENU_CALLBACK,
'access arguments' => array('access content'),
'access callback' => TRUE // add this line
);
试试这个:
function ajax_privacy_get_html($arg) {
$array['text'] = $arg;
print json_encode($array);
exit();
}
我也在清除drupal缓存如果我在drupal中做了任何更改,您的输出是json,在调用时尝试在js文件中添加'json'关键字,它类似于$.get(full_url,function(data){},'json');查看js文件$.get('',{q:ajax_request},ajaxAction,'json');谢谢你的回复,维什瓦。但它不起作用:(嗨,akshay,我看到$.get(''''q:ajax\u request},ajaxAction,'json');没有url可以调用添加页面url作为$.get('url',{q:ajax\u request},ajaxAction,'json'));url必须是完整的url示例url将是您在钩子菜单中定义的url。有关进一步说明,您可以参考以下链接尝试此解决方案。谢谢确定,并让我们知道这是否正是您想要的:)
$items['user/%'] = array(
'title' => 'menu privacy',
'page callback' => 'ajax_privacy_get_html', // Render HTML
'page arguments' => array(2),
'type' => MENU_CALLBACK,
'access arguments' => array('access content'),
'access callback' => TRUE // add this line
);
function ajax_privacy_get_html($arg) {
$array['text'] = $arg;
print json_encode($array);
exit();
}