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