I'm trying to display some data from the ajax response as below.
$.post(
'/tests/elementary/'+($(this).attr('data-test-id'))+'/get-details', // location of your php script
{
}, // any data you want to send to the script
function( data ) { // a function to deal with the returned information
if(data.taken =='false'){
alert('ok')
}
else {
$('#test_name').empty().append(data.information);
$('#test_point').empty().append(data.details['score']);
$('#test_date').empty().append(data.updated_at);
for(var i=0;i<data.testlog.length;i++) {
var temp = data.testlog[i];
$("#test_details_body").append("<tr> <td>"+ (i+1) +"</td> <td>"+temp['operand1']+' '+temp['operator']+' '+temp['operand2']+"</td><td>"+temp['user_answer']+"<td>"+temp['correct'] +"</td><tr>")
}
}
});
});
But I'm getting Uncaught SyntaxError: Unexpected token o
error.
response:
{
"success":"true",
"taken":"true",
"details":"{\"id\":2,\"user_id\":1,\"test_id\":9,\"token\":\"682c5de08481081b940364416cdce99d\",\"score\":80,\"attempts\":2,\"created_at\":\"2015-02-16 02:09:12\",\"updated_at\":\"2015-02-16 02:09:12\",\"course_id\":7}",
"information":"sample test exam",
"updated_at":"16-Feb-2015 02:02:12",
"testlog":[
{"id":21,"test_id":9,"user_id":1,"operand1":1,"operand2":10,"operator":"+","answer":11,"user_answer":11,"answering_time":"00:00:00","created_at":"2015-02-16 02:53:11","updated_at":"2015-02-16 02:53:11","token":"682c5de08481081b940364416cdce99d","correct":"1"},
{"id":22,"test_id":9,"user_id":1,"operand1":2,"operand2":10,"operator":"+","answer":12,"user_answer":12,"answering_time":"00:00:00","created_at":"2015-02-16 02:53:15","updated_at":"2015-02-16 02:53:15","token":"682c5de08481081b940364416cdce99d","correct":"1"},
{"id":23,"test_id":9,"user_id":1,"operand1":3,"operand2":10,"operator":"+","answer":13,"user_answer":0,"answering_time":"00:00:00","created_at":"2015-02-16 02:53:18","updated_at":"2015-02-16 02:53:18","token":"682c5de08481081b940364416cdce99d","correct":"1"},
{"id":24,"test_id":9,"user_id":1,"operand1":4,"operand2":10,"operator":"+","answer":14,"user_answer":0,"answering_time":"00:00:00","created_at":"2015-02-16 02:53:25","updated_at":"2015-02-16 02:53:25","token":"682c5de08481081b940364416cdce99d","correct":"0"},
{"id":25,"test_id":9,"user_id":1,"operand1":5,"operand2":10,"operator":"+","answer":15,"user_answer":0,"answering_time":"00:00:00","created_at":"2015-02-16 02:53:29","updated_at":"2015-02-16 02:53:29","token":"682c5de08481081b940364416cdce99d","correct":"1"}
]
}
php script for fetching data
public function getTestDetails($id){
$exists = Testresult::where('user_id', Auth::id())->where('test_id', $id)->first();
if($exists==null){
return Response::json(["success"=>"true", "taken"=>"false"]);
}
else{
$updated_at = date("d-M-Y H:m:s", strtotime($exists->updated_at));
$testLog = Testlog::where('token', $exists->token)->get();
$info = Test::where('id', $id)->pluck('name');
return Response::json(["success"=>"true", "taken"=>"true",
"details"=>"$exists",
"information"=>$info,
"updated_at"=>$updated_at,
"testlog"=>$testLog]);
}
}
Am I doing it right?