単純なAJAX関数をローカルに実装して、ユーザーの入力に応じて既存のノードのノードタイトルをオートコンプリートできるようにします。そのためには、ノードタイトルで検索できるAPIが必要です。問題は、生のJSONを出力すると、タグで囲まれていることです。だから、私が何をしても、私は取得し続けます...
<html>
<head>
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;"> {json here}</pre>
</body>
</html>
既にコンテンツのみを出力し、同じ結果を生成するカスタムページテンプレートを実装しようとしました。私のモジュールファイルで現在これをどのように行っているのですか...
<?php
/**
* Implementation of hook_menu()
*/
function content_relation_menu() {
$items = array();
$items['api'] = array(
'title' => 'Search',
'page callback' => 'content_relation_get',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
function content_relation_get($term = '') {
drupal_add_http_header('Content-Type', 'application/javascript; utf-8');
$var = json_encode(
db_query("SELECT nid,title FROM {node} WHERE title LIKE :title LIMIT 5", array(":title" => $term.'%'))->fetchAll()
);
echo $var;
exit(0);
}
JUST raw JSONを返すにはどうすればよいですか?
いくつかのいずれかは、Drupalの7のための一例を示すことができる
—
パトリック・W・マクマホン
drupal_json_output
機能が必要です。参照してくださいここまたはそこに働く例について。