jQuery Uncaught语法错误:意外的输入结束

时间:2014-08-06 11:06:17

标签: javascript php jquery ajax joomla

我正在使用$ .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;
        }
    }
}

我该怎么做才能解决这个错误?

2 个答案:

答案 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>