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
私が何を知らない私は、エラーを印刷しようとしたとき、私はこれを得ましたコードに間違いがあります。誰かがこれで私を助けることができますか?
を連想配列を返すように
試して。あなたのPHPコード@SaiKrishna –
のecho json_encode()の後にあなたのjsonの応答は有効ですか? –
@parthmahida私は、probが受信側、つまり成功関数にあると思う。私は死ぬことを試みたが反応はなかった。 –