2016-11-07 6 views
0

cakephpでajaxを使用してデータテーブルからデータを取得しようとしています。私は指定の名前のデータを送信して、それに対してすべてのレコードを取得したい。これは私が試した方法です:データはajaxのエラー関数で取得されました

DynamicFormController: 
<?php 

namespace App\Controller; 
session_start(); 
use App\Controller\AppController; 
use Cake\ORM\TableRegistry; 


class DynamicFormController extends AppController { 
public function getbulkoptions(){ 
     $optionvalue = $this->request->data('Designation'); 
     $designation = TableRegistry::get ('Field'); 

     $result = $designation->getbulkoptions($optionvalue); 
     echo json_encode($result); 
    } 
} 
    ?> 

FieldTable: 
<?php 
namespace App\Model\Table; 

use Cake\ORM\Table; 

use Cake\Datasource\ConnectionManager; 

class FieldTable extends Table { 
    var $name = 'FieldTable'; 
public function getbulkoptions($designation){ 
     $conn = ConnectionManager::get('default'); 
     $stmt = $conn->prepare("CALL proc_getbulkoptionslist (:tid)"); 
     $stmt->bindValue(':tid', $designation); 
     $stmt->execute(); 
     return $stmt->fetchAll ('obj'); 
    } 
} 

ものがあるが、私は適切な応答を得る:

ajax: 
    $("#Designation").click(function(){ 
       alert($("#Designation").val()); 

       var data = { 
        "Designation": $("#Designation").val() 
       } 

       $.ajax({ 
        type:"POST", 
        dataType: "JSON", 
        url: '<?php echo Router::url(array('controller'=>'DynamicForm','action'=>'getbulkoptions')); ?>', 
        data:data, 
        success:function(data){ 
         alert("success"); 
         console.log(data); 
         if(data.fieldid=="0"){ 
          //MyNotif.Show(data.message,"warning"); 
          alert("Field Exists"); 
         }else{ 
          $("#mymodal").modal('hide'); 
          //MyNotif.Show(data.message,"success"); 
          //window.location.reload(); 
          alert("Bulk List"); 
         } 
        }, 
        error:function(XMLHttpRequest, textStatus, errorThrown){ 
         console.log(XMLHttpRequest.responseText); 
        } 
       }); 
      }); 

これは私がDBとの通信を試みる方法です。私は必要なデータを取得しますが、そのデータはajaxのエラー関数で出力されています。私はそれが成功関数になることを望みます。上記のコードに何が問題なのか分かりません。私は誤差関数でこれを試してみましたが、それをプリントアウトしようとした、私はこの応答を得た

SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 364 of the JSON data 
Stack trace: 
[email protected]://localhost/payrollengine/js/jquery.js:4:16508 
[email protected]://localhost/payrollengine/js/jquery.js:4:18828 
[email protected]://localhost/payrollengine/js/jquery.js:4:22274 
.send/[email protected]://localhost/payrollengine/js/jquery.js:4:26750 

error:function(XMLHttpRequest, textStatus, errorThrown){ 
          console.log(XMLHttpRequest.responseText); 
         } 
response: 
     [{"fieldvalueid":"1","value":"Manager"},{"fieldvalueid":"2","value":"Project Manager"},{"fieldvalueid":"3","value":"Software Engineer"},{"fieldvalueid":"4","value":"Senior Software Engineer"},{"fieldvalueid":"5","value":"Associate Software Engineer"},{"fieldvalueid":"28","value":"sample"},{"fieldvalueid":"29","value":"azhagu"},{"fieldvalueid":"37","value":"t"}]null 

私が何を知らない私は、エラーを印刷しようとしたとき、私はこれを得ましたコードに間違いがあります。誰かがこれで私を助けることができますか?

+1

を連想配列を返すように

header('Content-Type: application/json'); echo json_encode($result); 

試して。あなたのPHPコード@SaiKrishna –

+0

のecho json_encode()の後にあなたのjsonの応答は有効ですか? –

+0

@parthmahida私は、probが受信側、つまり成功関数にあると思う。私は死ぬことを試みたが反応はなかった。 –

答えて

0

お使いのコントローラ機能にJSONヘッダを追加します。ダイスを追加しようとするデシベルから

->fetchAll('assoc'); 
+0

反応仲間はありません。 –

+0

同じブロム、反応なし –

+0

同じエラー?最後に同じヌル? – madalinivascu

関連する問題