我正在开发一个基于CodeIgniter
的Web应用程序。我是javascript和JS开发的新手。我正在发送位于控件中的post data to a method
(主页/问题视图)。我发送给控制器的数据不会发布到控制器。附上你可以看到我正在使用的代码。我所做的每一次尝试都会触发AJAX error
函数。
我在调用JS方法的代码中的Html代码viewQuestion(id)
<div class="col-md-7 column list-group">
<a href="" id="list" class="list-group-item active" onclick="viewQuestion(<?php echo $question['questionid']; ?>)">
<h4 class="list-group-item-heading"><?php echo $question['questionid'];echo". "; echo $question['questionTitle']; ?></h4>
<p class="list-group-item-text"><?php echo "Vote Count :"; echo $question['votecount']; ?></p>
<p class="list-group-item-text"><?php echo "Asked user :"; echo $question['username']; ?></p>
</a>
</div>
我的JS代码
我仔细检查了所使用的网址,并且可以访问。
<script type="text/javascript">
function viewQuestion(id)
{
$.ajax({
url: '<?php echo base_url(); ?>homepage/questionview',
type: 'POST',
data: { listid: id },
success: function () {
alert('suc');
},
error: function (error) {
// alert('error');
console.log(error);
}
});
}
</script>
主页/问题视图(控制器)
public function questionview()
{
//echo $listid;
echo $this->input->post('listid');
}
答案 0 :(得分:0)
几个选项:
- 确保onclick事件正常,在ajax调用之前添加警报(&#34; test&#34;)以确保你到达那里
- 在你的控制器上,尝试echo&#34; test&#34;确保你收到回复
- 使用Chrome控制台调试您的ajax调用并确保其进入控制器
答案 1 :(得分:0)
将return false;
放在ajax代码段的末尾并查看。那么你的代码就是这样的。
<script type="text/javascript">
function viewQuestion(id)
{
$.ajax({
url: '<?php echo base_url(); ?>homepage/questionview',
type: 'POST',
data: { listid: id },
success: function () {
alert('suc');
},
error: function (error) {
// alert('error');
console.log(error);
}
});
return false;
}
</script>