Tôi muốn triển khai một hàm AJAX đơn giản cục bộ cho phép tôi tự động hoàn thành các tiêu đề nút của các nút đã tồn tại dưới dạng các kiểu người dùng. Để đạt được điều đó, tôi cần khả năng có một API mà tôi có thể tìm kiếm trên các tiêu đề nút. Vấn đề là khi tôi xuất JSON thô, nó được bao quanh bởi các thẻ. Vì vậy, bất kể tôi làm gì, tôi vẫn tiếp tục ...
<html>
<head>
</head>
<body>
<pre style="word-wrap: break-word; white-space: pre-wrap;"> {json here}</pre>
</body>
</html>
Tôi đã thử triển khai một mẫu trang tùy chỉnh chỉ xuất nội dung, điều đó tạo ra kết quả tương tự. Đây là cách tôi hiện đang làm điều này, trong tệp mô-đun của tôi ...
<?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);
}
Làm cách nào tôi có thể trả về JUST JSON thô?
drupal_json_output
chức năng. Xem ở đây hoặc ở đó cho các ví dụ làm việc.