首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >index.php:13 Uncaught :意外令牌: Ci中的错误消息

index.php:13 Uncaught :意外令牌: Ci中的错误消息
EN

Stack Overflow用户
提问于 2011-12-27 15:05:51
回答 1查看 2.2K关注 0票数 0

在下面一行后面的Javascript代码中:

....../Misc-2/Ci-TodoList/index.php/home/jsonAddData,:

url

我得到了以下错误:

index.php:13 Uncaught :意外令牌:

代码语言:javascript
复制
<script type="text/javascript" language="javascript">
$(document).ready(function() {
    $('#add').bind('keypress', function(e) {
        if(e.keyCode == 13){
            $.ajax({
            type: "POST",
            dataType: "JSON",
            url: <?php echo site_url("home/jsonAddData"); ?>,
            data: dataString,
            json: {title_posted: true},
            success: function(data){
            if(data.title_posted == true) { // true means data was successfully posted.
                $("#success").append("Success");
            } else if(data.title_posted == false) { // false means data failed to post.
                $("#success").append('Failure');
            }
          }
       });
    }
});

      }
    });
});
</script>

经过index.php:13引用我的PHP脚本的一些调试技巧之后,我非常肯定。它正在做的一件事是说,当我加载url助手时,它说这是导致错误的原因。然后,我自动加载了url助手,现在它说第13行导致了错误,但是第13行只是一个mysql选择查询,如下所示:

代码语言:javascript
复制
<?php
class home extends CI_Controller {
    function __construct() {
        parent::__construct();
    }
    function index() {
        $data = array();
        $data['lists'] = $this->displayList();
        $this->load->view('home', $data);
    }
    function displayList() {
        $str = '';
        $query = $this->db->query("SELECT * FROM data");
        foreach ($query->result() as $row) {
            $b = '<input name="completed" type="checkbox" />';
            $a = $row->title . "<br>";
            $str .= $b.$a;
        }
        return $str;
    }
    function jsonAddData() {
        if($this->input->is_ajax_request()) {
        header('Content-type:application/json');
        $title = $this->input->post('title');
        $query = $this->db->query("INSERT INTO data (title) VALUES ('$title')");
        if($query) return json_encode(array('title_posted' => true));
        else return json_encode(array('title_posted' => false));
        }
    }
}
?>

知道为什么会发生这种事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-27 15:13:23

您得到了JS错误,所以PHP语法不是罪魁祸首。:)

用双引号包装<?php echo site_url("home/jsonAddData"); ?> (我指的是"")。此外,您还有其他语法错误,适当的缩进可以节省您的时间在未来。

以下是解决方案:

代码语言:javascript
复制
$(document).ready(function() {
    $('#add').bind('keypress', function(e) {
        if(e.keyCode == 13){
            $.ajax({
                type: "POST",
                dataType: "JSON",
                url: "<?php echo site_url("home/jsonAddData"); ?>",
                data: dataString,
                json: {title_posted: true},
                success: function(data){
                    if(data.title_posted == true) { // true means data was successfully posted.
                        $("#success").append("Success");
                    } else if(data.title_posted == false) { // false means data failed to post.
                        $("#success").append('Failure');
                    }
               }
          });
       }
    });
});
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8646086

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档