2012-03-24 12 views
7

मैं नया केकेपीएचपी 2.1 का उपयोग कर रहा हूं और क्लाइंट साइड पर JQuery द्वारा बनाए गए AJAX अनुरोध पर मेरा नियंत्रक प्रतिक्रिया देने के लिए जेसन व्यू का उपयोग करना चाहता हूं। हालांकि यह दस्तावेज़ीकरण के अनुसार JsonView के साथ स्वचालित रूप से किया जाना चाहिए।केकफ़्प जेसन व्यू

http://book.cakephp.org/2.0/en/views/json-and-xml-views.html

मैं अपने routes.php फ़ाइल

Router::parseExtensions('json');

में इस लाइन जोड़ा और मेरे नियंत्रक में मैं

$this->RequestHandler->setContent('json', 'application/json'); 
$bookings = $this->Bookings->find('all'); 

$this->set('bookings', $bookings); 
$this->set('_serialize', 'bookings'); 

है तब दृश्य अप्रचलित होना चाहिए, लेकिन जब मैं इसे कॉल करता हूं, वह अभी भी एक पृष्ठ परोसता है जो एक लापता दृश्य को इंगित कर रहा है।

+0

@ बेंजामिन एलिसन: यह प्रश्न लगभग 2 सप्ताह पहले WebApps.SE से माइग्रेट किया गया था। मेरी टिप्पणी अब अप्रासंगिक है और मैं इसे हटा रहा हूं। – dnbrv

+1

भी, संदर्भ के लिए, मुझे लगता है कि यह '$ this-> सेट (' _ serialize ', सरणी (' बुकिंग ') होना चाहिए;' 'कई जड़ों से बचने के लिए (इस पर अद्यतन दस्तावेज़ देखें) – mark

+1

मुझे यकीन नहीं है लेकिन मुझे लगता है कि कुछ गुम है -> विशेषता $ व्यू कंट्रोलर में क्लास। http://book.cakephp.org/2.0/en/appendices/new-features-in-cakephp-2-1.html#jsonview – raultm

उत्तर

5

क्या आप एप्लिकेशन/जेसन हेडर के साथ अनुरोध कर रहे हैं?

/controller/method.json पर अनुरोध करने का प्रयास करें इसे दृश्य को मजबूर करना चाहिए। यदि यह काम करता है तो आपके शीर्षलेख शायद सही नहीं हो रहे हैं।

1

क्या आपने /views/controller_name/json/action.ctp के अंदर दृश्य फ़ाइल बनाई है?