Tôi có một phương pháp điều khiển từ lâu đã xử lý các yêu cầu JSON bằng cách phân tích cú pháp phần mở rộng đó, nhưng bây giờ tôi cần mở nó lên ajax miền chéo vì vậy tôi muốn cung cấp một biến thể JSONP bằng cách phân tích cú pháp mở rộng là tốt. Tôi đã cập nhật tệp routes.php
của mình:CakePHP, mở rộng và bố trí
Router::parseExtensions('json', 'jsonp');
Cho đến giờ tất cả đều tốt, nhưng hạnh phúc sẽ kết thúc khi kết quả được hiển thị. Trong khi tiện ích mở rộng .json
tự động chọn bố cục json/default.ctp
, nội dung .jsonp
tiếp tục áp dụng bố cục mặc định không cụ thể (và tất cả nội dung HTML không cần thiết của nó). Tôi đã thử sử dụng RequestHandler::setContent()
để đặt loại nội dung phản hồi thành cả hai json
và js
, nhưng điều đó dường như không kích hoạt cuộc gọi đến một thư mục bố cục cụ thể.
Có ai biết điều gì xác định thư mục bố cục cụ thể theo nội dung nào được gọi không? Tôi đã thử tạo jsonp/default.ctp
và tôi đã thử tạo bố cục js/default.ctp
với kết quả JSONP của mình, nhưng dường như không có gì tương tác. Tôi chỉ nhận được mặc định bình thường.
Bất kỳ thông tin chi tiết nào về cách tiện ích/loại nội dung được ánh xạ tới các thư mục bố cục này sẽ được đánh giá cao.