code that generated the URL:
$url = $this->Url->build(['controller' => 'Purchases', 'action' =>
'get_sales_people_select_list','_ext'=>'json']);
$url = $url . '/47';

The generated URL:
/purchases/get-sales-people-select-list.json/47

Is this not correct?

On Wed, Oct 14, 2015 at 4:40 PM, Anthony GRASSIOT <antograss...@gmail.com>
wrote:

> Did you correctly specify the data type json in your ajax call ?
> Le 14 oct. 2015 09:02, "heavyKevy" <arnett.ke...@gmail.com> a écrit :
>
>> I have gone through the documentation, which is a bit too vague, and
>> tried many things, but I still am getting an error that the template file
>> is missing.
>>
>> I had this working sending back a json response in 3.0 using ext='json',
>> yet after updating to 3.1 it is broken.
>>
>> I checked the migration guide and tried changing ext  to _ext, setting up
>> the Routes with:
>> Router::extensions(['json']);
>>
>> in the controller method I am using the _serialize key which is supposed
>> to render without the template:
>> $this->set('_serialize', ['salesPeople']);
>>
>> The JsonView class does not appear to be loading and I don't see in the
>> documentation where I am supposed to set it.
>> The documentation says ' you can automatically leverage the new view
>> classes' By enabling RequestHandlerComponent in your application, and
>> enabling support for the json and or xml extensions, but I have enabled
>> it in the Initialize method of the controller and enabled the 'json'
>> extension as mentioned earlier and it is still not working.
>>
>> Here is the method in question:
>> public function getSalesPeopleSelectList() {
>>         $this->request->accepts('json'); // No direct access via browser
>> URL
>>         $dealerId = $this->request->params['pass'][0];
>>         $this->RequestHandler->renderAs($this, 'ajax');
>>         //$this->viewClass = 'Json';
>>         $this->loadModel('SalesPeople');
>>         $salesPeople =
>> $this->Purchases->SalesPeople->find('list')->where(['is_active'=>'1','user_id'=>$dealerId]);
>> //for salespeople options for autocomplete
>>         $this->set(compact('salesPeople'));
>>         $this->set('_serialize', ['salesPeople']);
>>     }
>>
>>
>> When I enable the _ext = json I get the following error:
>>
>> 2015-10-14 06:57:36 Error:
>> [Cake\Controller\Exception\MissingActionException] Action
>> PurchasesController::getSalesPeopleSelectList.json() could not be found, or
>> is not accessible.
>> Exception Attributes: array (
>>   'controller' => 'PurchasesController',
>>   'action' => 'getSalesPeopleSelectList.json',
>>   'prefix' => '',
>>   'plugin' => NULL,
>> )
>> Request URL: /Subaru/purchases/get-sales-people-select-list.json/47
>> Stack Trace:
>> #0
>> C:\WebServer\cake\subaru\vendor\cakephp\cakephp\src\Routing\Dispatcher.php(114):
>> Cake\Controller\Controller->invokeAction()
>> #1
>> C:\WebServer\cake\subaru\vendor\cakephp\cakephp\src\Routing\Dispatcher.php(87):
>> Cake\Routing\Dispatcher->_invoke(Object(App\Controller\PurchasesController))
>> #2 C:\WebServer\webdocs\Subaru\index.php(42):
>> Cake\Routing\Dispatcher->dispatch(Object(Cake\Network\Request),
>> Object(Cake\Network\Response))
>> #3 {main}
>>
>> What have I missed?
>>
>> --
>> Like Us on FaceBook https://www.facebook.com/CakePHP
>> Find us on Twitter http://twitter.com/CakePHP
>>
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "CakePHP" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to cake-php+unsubscr...@googlegroups.com.
>> To post to this group, send email to cake-php@googlegroups.com.
>> Visit this group at http://groups.google.com/group/cake-php.
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
> Like Us on FaceBook https://www.facebook.com/CakePHP
> Find us on Twitter http://twitter.com/CakePHP
>
> ---
> You received this message because you are subscribed to a topic in the
> Google Groups "CakePHP" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/cake-php/31AlwVDJmv8/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> cake-php+unsubscr...@googlegroups.com.
> To post to this group, send email to cake-php@googlegroups.com.
> Visit this group at http://groups.google.com/group/cake-php.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
Like Us on FaceBook https://www.facebook.com/CakePHP
Find us on Twitter http://twitter.com/CakePHP

--- 
You received this message because you are subscribed to the Google Groups 
"CakePHP" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to cake-php+unsubscr...@googlegroups.com.
To post to this group, send email to cake-php@googlegroups.com.
Visit this group at http://groups.google.com/group/cake-php.
For more options, visit https://groups.google.com/d/optout.

Reply via email to