Return data values from controller in using json and ajax cakephp 3 -
i working in forms, each form have lot inputs, insert inputs in database using ajax in cakephp 3 works fine, problem when want return data insert in database data return code html , can't have access information example -> status, message, data. in controller have this:
public function insertpassenger() { $this->layout = 'ajax'; $passenger = $this->passengers->newentity(); $dato=$this->request->data(); if ($this->request->is('ajax')) { $passenger = $this->passengers->patchentity($passenger, $this->request->data); $passenger->date = date('y-m-d h:i:s'); if ($this->passengers->save($passenger)) { $data = [ 'content' => $dato, 'status' => 'success', 'message' => 'el pasajero fue registrado correctamente', ]; } else { $data = [ 'content' => $dato, 'status' => 'error', 'message' => 'verifique los datos', ]; } } $this->set(compact('data')); // pass $data view $this->set('_serialize', 'data'); // let jsonview class know variable use } now in js have this
$(document).on('submit','form',function(e) { e.preventdefault(); var values = $(this).serialize(); var options = {}; $.ajax({ url: "/passengers/insertpassenger.json", type: "post", data: values, success: function(dato){ console.log(dato); }, error:function(e){ console.log(e) } }); }); here ok, when printed results console of google chrome console.log(dato);, have out (and in end information important):
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9b1de-trace').style.display = (document.getelementbyid('cakeerr5540307e9b1de-trace').style.display == 'none' ? '' : 'none');"><b>warning</b> (2)</a>: array_combine(): both parameters should have equal number of elements [<b>core/src/orm/rule/existsin.php</b>, line <b>102</b>]<div id="cakeerr5540307e9b1de-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9b1de-code').style.display = (document.getelementbyid('cakeerr5540307e9b1de-code').style.display == 'none' ? '' : 'none')">code</a> <a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9b1de-context').style.display = (document.getelementbyid('cakeerr5540307e9b1de-context').style.display == 'none' ? '' : 'none')">context</a><pre id="cakeerr5540307e9b1de-code" class="cake-code-dump" style="display: none;"><code><span style="color: #000000"><span style="color: #0000bb"> $primary</span><span style="color: #007700">,</span></span></code> <span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000bb"> $entity</span><span style="color: #007700">-></span><span style="color: #0000bb">extract</span><span style="color: #007700">(</span><span style="color: #0000bb">$this</span><span style="color: #007700">-></span><span style="color: #0000bb">_fields</span><span style="color: #007700">)</span></span></code></span> <code><span style="color: #000000"><span style="color: #0000bb"> </span><span style="color: #007700">);</span></span></code></pre><pre id="cakeerr5540307e9b1de-context" class="cake-context" style="display: none;">$entity = object(app\model\entity\passenger) { 'new' => true, 'accessible' => [ 'travel_id' => true, 'nombre' => true, 'ci' => true, 'edad' => true, 'genero' => true, 'num_emergencia' => true, 'numero_asiento' => true, 'orden_asiento' => true, 'date' => true, 'update' => true, 'travel' => true, 'invoices' => true ], 'properties' => [ 'nombre' => 'sasd', 'ci' => (int) 23, 'edad' => (int) 23, 'genero' => 'masculino', 'num_emergencia' => (int) 21, 'numero_asiento' => '14', 'orden_asiento' => '4_2', 'travel_id' => (int) 1, 'date' => '2015-04-28 21:14:38' ], 'dirty' => [ 'nombre' => true, 'ci' => true, 'edad' => true, 'genero' => true, 'num_emergencia' => true, 'numero_asiento' => true, 'orden_asiento' => true, 'travel_id' => true, 'date' => true ], 'original' => [], 'virtual' => [], 'errors' => [], 'repository' => 'passengers' } $options = [ 'errorfield' => 'travel_id', 'message' => 'this value not exist', 'atomic' => true, 'associated' => true, 'checkrules' => true, 'checkexisting' => true, '_primary' => true, 'repository' => object(app\model\table\passengerstable) { 'registryalias' => 'passengers', 'table' => 'passengers', 'alias' => 'passengers', 'entityclass' => 'app\model\entity\passenger', 'associations' => [ [maximum depth reached] ], 'behaviors' => [[maximum depth reached]], 'defaultconnection' => 'default', 'connectionname' => 'default' } ] $nulls = (int) 0 $schema = object(cake\database\schema\table) { [protected] _table => 'travels' [protected] _columns => [ 'id' => [ [maximum depth reached] ], 'fecha_hora' => [ [maximum depth reached] ], 'precio' => [ [maximum depth reached] ], 'date' => [ [maximum depth reached] ], 'update' => [ [maximum depth reached] ], 'output_id' => [ [maximum depth reached] ], 'destination_id' => [ [maximum depth reached] ], 'user_id' => [ [maximum depth reached] ], 'bus_id' => [ [maximum depth reached] ] ] [protected] _indexes => [ 'fk_travels_outputs1_idx' => [ [maximum depth reached] ], 'fk_travels_destinations1_idx' => [ [maximum depth reached] ], 'fk_travels_users1_idx' => [ [maximum depth reached] ], 'fk_travels_buses1_idx' => [ [maximum depth reached] ] ] [protected] _constraints => [ 'primary' => [ [maximum depth reached] ], 'fk_travels_buses1' => [ [maximum depth reached] ], 'fk_travels_destinations1' => [ [maximum depth reached] ], 'fk_travels_outputs1' => [ [maximum depth reached] ], 'fk_travels_users1' => [ [maximum depth reached] ] ] [protected] _options => [ 'engine' => 'innodb', 'collation' => 'utf8_general_ci' ] [protected] _temporary => false [protected] _columnkeys => [ 'type' => null, 'length' => null, 'precision' => null, 'null' => null, 'default' => null, 'comment' => null ] [protected] _columnextras => [ 'string' => [ [maximum depth reached] ], 'integer' => [ [maximum depth reached] ], 'biginteger' => [ [maximum depth reached] ], 'decimal' => [ [maximum depth reached] ], 'float' => [ [maximum depth reached] ] ] [protected] _indexkeys => [ 'type' => null, 'columns' => [[maximum depth reached]], 'length' => [[maximum depth reached]], 'references' => [[maximum depth reached]], 'update' => 'restrict', 'delete' => 'restrict' ] [protected] _validindextypes => [ (int) 0 => 'index', (int) 1 => 'fulltext' ] [protected] _validconstrainttypes => [ (int) 0 => 'primary', (int) 1 => 'unique', (int) 2 => 'foreign' ] [protected] _validforeignkeyactions => [ (int) 0 => 'cascade', (int) 1 => 'setnull', (int) 2 => 'setdefault', (int) 3 => 'noaction', (int) 4 => 'restrict' ] } $field = 'travel_id' $alias = 'travels' $primary = [ (int) 0 => 'travels.id', (int) 1 => 'travels.output_id', (int) 2 => 'travels.destination_id', (int) 3 => 'travels.user_id', (int) 4 => 'travels.bus_id' ]</pre><pre class="stack-trace">array_combine - [internal], line ?? cake\orm\rule\existsin::__invoke() - core/src/orm/rule/existsin.php, line 102 cake\orm\ruleschecker::cake\orm\{closure}() - core/src/orm/ruleschecker.php, line 378 cake\orm\ruleschecker::cake\orm\{closure}() - core/src/orm/ruleschecker.php, line 378 cake\orm\ruleschecker::checkcreate() - core/src/orm/ruleschecker.php, line 258 cake\orm\ruleschecker::check() - core/src/orm/ruleschecker.php, line 231 cake\orm\table::checkrules() - core/src/orm/table.php, line 2148 cake\orm\table::_processsave() - core/src/orm/table.php, line 1410 cake\orm\table::cake\orm\{closure}() - core/src/orm/table.php, line 1367 cake\database\connection::transactional() - core/src/database/connection.php, line 561 cake\orm\table::save() - core/src/orm/table.php, line 1368 app\controller\passengerscontroller::insertpassenger() - app/controller/passengerscontroller.php, line 170 cake\controller\controller::invokeaction() - core/src/controller/controller.php, line 412 cake\routing\dispatcher::_invoke() - core/src/routing/dispatcher.php, line 114 cake\routing\dispatcher::dispatch() - core/src/routing/dispatcher.php, line 87 [main] - root/webroot/index.php, line 37</pre></div></pre><pre class="cake-error"><a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9c451-trace').style.display = (document.getelementbyid('cakeerr5540307e9c451-trace').style.display == 'none' ? '' : 'none');"><b>warning</b> (4096)</a>: argument 1 passed cake\database\expression\queryexpression::_addconditions() must of type array, boolean given, called in /home/widrogo/code/estacion/vendor/cakephp/cakephp/src/database/expression/queryexpression.php on line 123 , defined [<b>core/src/database/expression/queryexpression.php</b>, line <b>478</b>]<div id="cakeerr5540307e9c451-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9c451-code').style.display = (document.getelementbyid('cakeerr5540307e9c451-code').style.display == 'none' ? '' : 'none')">code</a> <a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9c451-context').style.display = (document.getelementbyid('cakeerr5540307e9c451-context').style.display == 'none' ? '' : 'none')">context</a><pre id="cakeerr5540307e9c451-code" class="cake-code-dump" style="display: none;"><code><span style="color: #000000"><span style="color: #0000bb"> </span><span style="color: #007700">* @return </span><span style="color: #0000bb">void</span></span></code> <span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000bb"> </span><span style="color: #007700">*/</span></span></code></span> <code><span style="color: #000000"><span style="color: #0000bb"> </span><span style="color: #007700">protected function </span><span style="color: #0000bb">_addconditions</span><span style="color: #007700">(array </span><span style="color: #0000bb">$conditions</span><span style="color: #007700">, array </span><span style="color: #0000bb">$types</span><span style="color: #007700">)</span></span></code></pre><pre id="cakeerr5540307e9c451-context" class="cake-context" style="display: none;">$this = object(cake\database\expression\queryexpression) { [protected] _conjunction => 'and' [protected] _conditions => [] [protected] _typemap => object(cake\database\typemap) {} }</pre><pre class="stack-trace">cake\database\expression\queryexpression::_addconditions() - core/src/database/expression/queryexpression.php, line 478 cake\database\expression\queryexpression::add() - core/src/database/expression/queryexpression.php, line 123 cake\database\query::_conjugate() - core/src/database/query.php, line 1653 cake\database\query::where() - core/src/database/query.php, line 761 cake\orm\table::exists() - core/src/orm/table.php, line 1256 cake\orm\association::__call() - core/src/orm/association.php, line 837 cake\orm\association\belongsto::exists() - core/src/orm/rule/existsin.php, line 103 cake\orm\rule\existsin::__invoke() - core/src/orm/rule/existsin.php, line 103 cake\orm\ruleschecker::cake\orm\{closure}() - core/src/orm/ruleschecker.php, line 378 cake\orm\ruleschecker::cake\orm\{closure}() - core/src/orm/ruleschecker.php, line 378 cake\orm\ruleschecker::checkcreate() - core/src/orm/ruleschecker.php, line 258 cake\orm\ruleschecker::check() - core/src/orm/ruleschecker.php, line 231 cake\orm\table::checkrules() - core/src/orm/table.php, line 2148 cake\orm\table::_processsave() - core/src/orm/table.php, line 1410 cake\orm\table::cake\orm\{closure}() - core/src/orm/table.php, line 1367 cake\database\connection::transactional() - core/src/database/connection.php, line 561</pre></div></pre><pre class="cake-error"><a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9d172-trace').style.display = (document.getelementbyid('cakeerr5540307e9d172-trace').style.display == 'none' ? '' : 'none');"><b>warning</b> (2)</a>: invalid argument supplied foreach() [<b>core/src/database/expression/queryexpression.php</b>, line <b>484</b>]<div id="cakeerr5540307e9d172-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9d172-code').style.display = (document.getelementbyid('cakeerr5540307e9d172-code').style.display == 'none' ? '' : 'none')">code</a> <a href="javascript:void(0);" onclick="document.getelementbyid('cakeerr5540307e9d172-context').style.display = (document.getelementbyid('cakeerr5540307e9d172-context').style.display == 'none' ? '' : 'none')">context</a><pre id="cakeerr5540307e9d172-code" class="cake-code-dump" style="display: none;"><code><span style="color: #000000"><span style="color: #0000bb"> $typemap </span><span style="color: #007700">= </span><span style="color: #0000bb">$this</span><span style="color: #007700">-></span><span style="color: #0000bb">typemap</span><span style="color: #007700">()-></span><span style="color: #0000bb">types</span><span style="color: #007700">(</span><span style="color: #0000bb">$types</span><span style="color: #007700">);</span></span></code> <span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000bb"></span></span></code></span> <code><span style="color: #000000"><span style="color: #0000bb"> </span><span style="color: #007700">foreach (</span><span style="color: #0000bb">$conditions </span><span style="color: #007700">as </span><span style="color: #0000bb">$k </span><span style="color: #007700">=> </span><span style="color: #0000bb">$c</span><span style="color: #007700">) {</span></span></code></pre><pre id="cakeerr5540307e9d172-context" class="cake-context" style="display: none;">$this = object(cake\database\expression\queryexpression) { [protected] _conjunction => 'and' [protected] _conditions => [] [protected] _typemap => object(cake\database\typemap) {} } $conditions = false $types = [] $operators = [ (int) 0 => 'and', (int) 1 => 'or', (int) 2 => 'xor' ] $typemap = object(cake\database\typemap) { [protected] _defaults => [ 'travels.id' => 'integer', 'id' => 'integer', 'travels.fecha_hora' => 'datetime', 'fecha_hora' => 'datetime', 'travels.precio' => 'float', 'precio' => 'float', 'travels.date' => 'datetime', 'date' => 'datetime', 'travels.update' => 'datetime', 'update' => 'datetime', 'travels.output_id' => 'integer', 'output_id' => 'integer', 'travels.destination_id' => 'integer', 'destination_id' => 'integer', 'travels.user_id' => 'integer', 'user_id' => 'integer', 'travels.bus_id' => 'integer', 'bus_id' => 'integer' ] [protected] _types => [] }</pre><pre class="stack-trace">cake\database\expression\queryexpression::_addconditions() - core/src/database/expression/queryexpression.php, line 484 cake\database\expression\queryexpression::add() - core/src/database/expression/queryexpression.php, line 123 cake\database\query::_conjugate() - core/src/database/query.php, line 1653 cake\database\query::where() - core/src/database/query.php, line 761 cake\orm\table::exists() - core/src/orm/table.php, line 1256 cake\orm\association::__call() - core/src/orm/association.php, line 837 cake\orm\association\belongsto::exists() - core/src/orm/rule/existsin.php, line 103 cake\orm\rule\existsin::__invoke() - core/src/orm/rule/existsin.php, line 103 cake\orm\ruleschecker::cake\orm\{closure}() - core/src/orm/ruleschecker.php, line 378 cake\orm\ruleschecker::cake\orm\{closure}() - core/src/orm/ruleschecker.php, line 378 cake\orm\ruleschecker::checkcreate() - core/src/orm/ruleschecker.php, line 258 cake\orm\ruleschecker::check() - core/src/orm/ruleschecker.php, line 231 cake\orm\table::checkrules() - core/src/orm/table.php, line 2148 cake\orm\table::_processsave() - core/src/orm/table.php, line 1410 cake\orm\table::cake\orm\{closure}() - core/src/orm/table.php, line 1367 cake\database\connection::transactional() - core/src/database/connection.php, line 561</pre></div></pre>{ "content": { "nombre": "sasd", "ci": "23", "edad": "23", "genero": "masculino", "num_emergencia": "21", "numero_asiento": "14", "orden_asiento": "4_2", "travel_id": "1" }, "status": "success", "message": "el pasajero fue registrado correctamente" }
Comments
Post a Comment