在下面一行后面的Javascript代码中:
....../Misc-2/Ci-TodoList/index.php/home/jsonAddData,:
url
我得到了以下错误:
index.php:13 Uncaught :意外令牌:
<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选择查询,如下所示:
<?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));
}
}
}
?>知道为什么会发生这种事吗?
发布于 2011-12-27 15:13:23
您得到了JS错误,所以PHP语法不是罪魁祸首。:)
用双引号包装<?php echo site_url("home/jsonAddData"); ?> (我指的是"")。此外,您还有其他语法错误,适当的缩进可以节省您的时间在未来。
以下是解决方案:
$(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');
}
}
});
}
});
});https://stackoverflow.com/questions/8646086
复制相似问题