我使用以下jquery语句来调用我的php控制器函数,它被调用但我的结果没有返回到我的成功函数....
<html>
<head>
<link rel="stylesheet" type="text/css" href="http://localhost/codeigniter_cup_myth/stylesheets/style.css" />
<link rel="stylesheet" type="text/css" href="http://localhost/codeigniter_cup_myth/stylesheets/calendar.css" />
<link rel="stylesheet" type="text/css" href="http://localhost/codeigniter_cup_myth/stylesheets/date_picker.css" />
<script type="text/javascript" src="http://localhost/codeigniter_cup_myth/javascript/jquery1.4.2.js"></script>
<script type="text/javascript" src="http://localhost/codeigniter_cup_myth/javascript/jquery.pagination.js"></script>
<script type="text/javascript">
$(document).ready(function() {
getRecordspage();
});
function getRecordspage() {
$.ajax({
type: "POST",
url:"http://localhost/codeigniter_cup_myth/index.php/adminController/mainAccount",
data: "{}",
contentType: "application/json; charset=utf-8",
global:false,
async: true,
dataType: "json",
success: function(result) {
alert(result);
}
});
}
</script>
</head>
<body>
<table id="chkbox" cellpadding="0" cellspacing="2" width="100%" class="table_Style_Border">
<tr>
<td class="grid_header" align="center">S.No</td>
<td class="grid_header" align="center">Account Name</td>
<td class="grid_header" align="center">Account Acronym</td>
<td class="grid_header" align="center">Finance Year Start</td>
<td class="grid_header" align="center">Finance Year End</td>
<td class="grid_header" align="center"> </td>
</tr>
<tr> <td colspan="5"> </td></tr>
</table>
</body>
</html>
我的控制器方法,
function mainAccount()
{
$_SESSION['menu'] = 'finance';
$data['account'] = $this->adminmodel->getaccountDetails();
if(empty($data['account']))
{
$data['comment'] = 'No record found !';
}
$json = json_encode($data);
return $json;
}
我在成功函数中获得了alert(1);
,但我的alert(result);
显示了null
。我该如何解决这个问题?
这是我给print_r($data);
时所得到的:
Array ( [account] => Array ( [0] => Array ( [dAcc_id] => 1 [dAccountName] => Govt. College Of Technology [dAccountAcronym] => GCT [dFromDate] => 2010-04-02 [dToDate] => 2011-05-03 ) [1] => Array ( [dAcc_id] => 3 [dAccountName] => sample4 [dAccountAcronym] => smp_4 [dFromDate] => 2010-03-17 [dToDate] => 2011-03-03 ) [2] => Array ( [dAcc_id] => 4 [dAccountName] => sample3 [dAccountAcronym] => smp_3 [dFromDate] => 2010-03-16 [dToDate] => 2011-03-17 ) [3] => Array ( [dAcc_id] => 5 [dAccountName] => sample5 [dAccountAcronym] => smp_5 [dFromDate] => 2010-03-12 [dToDate] => 2011-03-03 ) [4] => Array ( [dAcc_id] => 6 [dAccountName] => sample2 [dAccountAcronym] => smp2 [dFromDate] => 2010-03-01 [dToDate] => 2011-03-16 ) [5] => Array ( [dAcc_id] => 7 [dAccountName] => sample1 [dAccountAcronym] => smp_1 [dFromDate] => 2010-03-11 [dToDate] => 2011-03-03 ) [6] => Array ( [dAcc_id] => 8 [dAccountName] => ss [dAccountAcronym] => ss [dFromDate] => 2010-04-04 [dToDate] => 2010-04-06 ) ) )
当我print_r(json_encode($data['account']));
时,我得到了这个:
[{"dAcc_id":"1","dAccountName":"Govt. College Of Technology","dAccountAcronym":"GCT","dFromDate":"2010-04-02","dToDate":"2011-05-03"},{"dAcc_id":"3","dAccountName":"sample4","dAccountAcronym":"smp_4","dFromDate":"2010-03-17","dToDate":"2011-03-03"},{"dAcc_id":"4","dAccountName":"sample3","dAccountAcronym":"smp_3","dFromDate":"2010-03-16","dToDate":"2011-03-17"},{"dAcc_id":"5","dAccountName":"sample5","dAccountAcronym":"smp_5","dFromDate":"2010-03-12","dToDate":"2011-03-03"},{"dAcc_id":"6","dAccountName":"sample2","dAccountAcronym":"smp2","dFromDate":"2010-03-01","dToDate":"2011-03-16"},{"dAcc_id":"7","dAccountName":"sample1","dAccountAcronym":"smp_1","dFromDate":"2010-03-11","dToDate":"2011-03-03"},{"dAcc_id":"8","dAccountName":"ss","dAccountAcronym":"ss","dFromDate":"2010-04-04","dToDate":"2010-04-06"}]
答案 0 :(得分:2)
您是否设置了正确的内容类型?
header('Content-Type: application/json');
使用CodeIgniter,您是要返回JSON对象还是输出它?如果没有与该方法关联的视图,则不会输出任何内容。试试,看它是否有效:
$_SESSION['menu'] = 'finance';
$data['account'] = $this->adminmodel->getaccountDetails();
if (empty($data['account'])) {
$data['comment'] = 'No record found !';
}
header('Content-Type: application/json');
echo json_encode($data);
exit;
最后,验证您要访问的网址,看看它是否会返回。
看看JSON Helper。
答案 1 :(得分:2)
这种情况发生的最常见原因是,如果您是一个非安全页面,试图通过ajax与安全页面进行通信,反之亦然(即http ajaxing https)