我正在使用$ .post ajax方法来运行一个返回数组的函数。 当数组返回到$ .post方法时,我得到错误:
未捕获的语法错误:意外的输入结束
这是我的$ .post方法
$.post(
ajax_url('showResult'),{
search_type:search_type,
search_criteria:search_criteria
},function(d){
var ary = $.parseJSON(d);
});
这是我的ajax函数,它返回数组
function showResult()
{
$jinput = JFactory::getApplication()->input;
$search_type = $jinput->get('search_type','','STRING');
$search_criteria = $jinput->get('search_criteria','','STRING');
$search_type = trim($search_type);
$search_criteria = trim($search_criteria);
if(!empty($search_type))
{
if($search_type == "Search by Name")
{
$db = JFactory::getDbo();
$query = "SELECT * FROM #__product";
$db->setQuery($query);
$db->query();
$result = $db->loadAssocList();
$result = json_encode($result);
echo ($result);
exit;
}
}
}
我该怎么做才能解决这个错误?
答案 0 :(得分:0)
$result = json_encode($result);
$ result可能为空。
检查出来。
答案 1 :(得分:0)
也许你的$ return不是json。
试试这个
Debug the $return strcture.
<?php
//add this line before exit;
var_dump($result);
?>
和
<script type="text/javascript">
$.post(
ajax_url('showResult'),{
search_type:search_type,
zarch_criteria:search_criteria
},
function(d){
console.log(d);
//^
//+------ add this line
var ary = $.parseJSON(d);
});
</script>