ajax调用中不同浏览器的不同错误

时间:2011-07-14 13:22:38

标签: javascript codeigniter jquery-plugins jquery

出现此错误的原因是什么?我该如何解决? Google Chrome出错:

  

发生错误:[object Object] parsererror SyntaxError:   意外的令牌ILLEGAL

歌剧的错误

  

发生错误:[object Object] parsererror SyntaxError:   JSON.parse:无法解析值:

ie9错误

  

发生错误:[object Object] parsererror SyntaxError:   字符无效

和......

js code:

$('#hotel').keypress(function () {
    var dataObj = $(this).closest('form').serializeArray();
    $.ajax({
        url: 'http://localhost/mehdi/admin/tour/search_hotel',
        data: dataObj,
        dataType: 'json',
        success: function (data) {
            $("#suggestion_tab").html('');
            $.each(data.suggestions, function (a, b) {
                $("#suggestion_tab").append('<li>' + data.b + '</li>');
            });
            // Display the results
            ///alert(data);
        },
        "error": function (x, y, z) {
            // callback to run if an error occurs
            alert("An error has occured:\n" + x + "\n" + y + "\n" + z);
        }
        });
    });

PHP:(是CI_Controller)

function search_hotel(){
    $searchterm = $this->input->post('search_hotel');
    $result = $this->model_tour->search_hotel($searchterm);
    while($row = mysql_fetch_assoc($result))
    {
        $output[] = $row;
    }
    echo json_encode(array('suggestions' => $output));
}

CI_Model

function search_hotel($searchterm)
{
    return mysql_query("select * from hotel_submits where name LIKE '".$searchterm."'");
}

4 个答案:

答案 0 :(得分:3)

您的JSON包含无效语法 您需要查看实际的JSON并修复错误。

答案 1 :(得分:0)

还要确保您的回复是UTF格式。

答案 2 :(得分:0)

这可能是由于会话超时造成的。

答案 3 :(得分:-1)

尝试使用http://jsonlint.com/查看JSON数据包是否有效。在我看来,你需要对数据库中的每一行进行json_encode,然后将这些编码的数据包添加到另一个JSON数组中?