Saya ingin menerapkan fungsi AJAX sederhana secara lokal yang memungkinkan saya untuk autocomplete judul node yang sudah ada sebagai tipe pengguna. Untuk itu, saya perlu kemampuan untuk memiliki API yang dapat saya cari pada judul node. Masalahnya adalah bahwa ketika saya output JSON mentah, itu datang dikelilingi oleh tag. Jadi, apa pun yang saya lakukan, saya tetap mendapatkan ...
<html>
<head>
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;"> {json here}</pre>
</body>
</html>
Saya sudah mencoba menerapkan templat halaman khusus yang hanya menghasilkan konten, yang menghasilkan hasil yang sama. Inilah cara saya saat ini melakukan ini, dalam file modul saya ...
<?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);
}
Bagaimana saya bisa mengembalikan JSON mentah saja?
drupal_json_output
fungsinya. Lihat di sini atau di sana untuk contoh kerja.