tôi có mã này như một cffunction rằng hoạt động tốt:JSON phản ứng sử dụng cfscript chức năng
<cfcomponent extends="core.core">
<cffunction name="loadService" access="remote" returnformat="JSON">
<cfscript>
objResponse = '{"CONFIG":[["internal"],[ "success"]],"DATA":[["Message1"]]}';
</cfscript>
<cfreturn objResponse>
</cffunction>
</cfcomponent>
Tôi cố gắng để chuyển nó sang một hàm cfscript đầy đủ như thế này:
component extends="core.core"{
remote JSON function loadService(){
objResponse = '{"CONFIG":[["internal"],[ "success"]],"DATA":[["Message1"]]}';
SerializeJSON(objResponse);
return objResponse;
}
}
Cách thứ nhất trả về JSON tốt và tôi có thể xử lý nó với jQuery. Câu lệnh thứ hai ném và lỗi "Giá trị được trả về từ hàm loadService không phải là kiểu JSON."
Tôi đã thử nó có và không có SerializeJSON và cả hai cách đều ném lỗi đó. Tôi cũng đã thử nó mà không cần chỉ định JSON trong cú pháp hàm. Điều đó không ném một lỗi nhưng nó quấn thông tin wddxpacket xung quanh nó. Đây là hình thức của nó khi tôi không chỉ định JSON:
<wddxPacket version='1.0'><header/><data><string>{"CONFIG":[["internal"],[ "success"]],"DATA":[["Message1"]]}</string></data></wddxPacket>
Tôi bị kẹt trong này. Bất kỳ sự trợ giúp nào đều sẽ là tuyệt vời. Cảm ơn!
Wow, tôi thấy bây giờ. Tôi đã trộn lên các returntype và trở lại định dạng. Điều đó thật ngu ngốc. Tôi đã thêm returnformat = "JSON" và nó hoạt động rất tốt. Cảm ơn đã giúp đỡ. Tôi rất trân trọng điều này. – Sequenzia
Chắc chắn lưu ý nhận xét của Peruz về SerializeJSON(). –
Bạn nói "Cú pháp CFScript chính xác trong CF9 là:", có một số loại tài liệu cho CFScript ... làm sao bạn biết điều này? – John