未捕获的SyntaxError:意外的令牌+

时间:2014-11-10 08:32:08

标签: javascript php ajax

我使用此代码收到此错误,设置了php id变量,为什么会显示意外的令牌?

var current_page = 1;
var id = <?php echo $id; ?>;
$(document).ready(function(){ 
    $.ajax({
        'url':'get_data.php',
        'type':'post',
        'data': 'p='+current_page, 'id='+id,
        success:function(data){
            var data = $.parseJSON(data);
            $('#posts').html(data.html);
            $('#pagination').html(data.pagination);
        }
        console.log(data);  
    });
});

3 个答案:

答案 0 :(得分:2)

您应该正确连接数据查询字符串:

'data': 'p='+current_page +'&id='+id,

或使用此界面:

data: {p : current_page, id: id},

所以它看起来像这样:

<script type="text/javascript">
var current_page = 1;
var id = <?php echo $id; ?>;
$(document).ready(function(){
    $.ajax({
        url: 'get_data.php',
        type :'POST',
        data: 'p='+current_page+'&id='+id,
        // data: {p: current_page, id: id},
        success:function(data){
            var data = $.parseJSON(data);
            $('#posts').html(data.html);
            $('#pagination').html(data.pagination);
            console.log(data);
        }
    });
});
</script>

旁注:您还可以明确设置dataType: 'JSON',,以便根本不需要$.parseJSON

答案 1 :(得分:0)

数据的语法错误

替换为以下

  'data': 'p='+current_page+'&id='+id,

答案 2 :(得分:0)

你可以这样做

data: {
    p: current_page, 
    id: id
}