Chciałbym zaimplementować lokalnie prostą funkcję AJAX, która pozwala mi autouzupełnianie tytułów węzłów już istniejących jako typy użytkownika. W tym celu potrzebuję możliwości posiadania API, które mogę przeszukiwać na tytułach węzłów. Problem polega na tym, że kiedy wyprowadzam surowy JSON, jest on otoczony tagami. Tak więc, bez względu na to, co robię, wciąż otrzymuję ...Jak mogę zwrócić rzeczywisty JSON używając Drupala?
<html>
<head>
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;"> {json here}</pre>
</body>
</html>
Próbowałem wykonawczych niestandardowy szablon strony, że tylko wyprowadza już treści, które produkowały takie same wyniki. Oto, jak obecnie to robię, w moim pliku modułu ...
<?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);
}
Jak mogę zwrócić JUST surowy JSON?
Ten sposób jest "bardziej poprawny", ale okazało się, że faktycznie wyprowadzono surowy JS. Ale dziękuję. – rybosome
Uderzyłeś mnie, właśnie zaktualizowałem swoją odpowiedź na to pytanie :) – Clive