我试图在div中显示ajax响应的值,为此我在视图文件中有以下代码.
<script type="text/javascript" src="MY LINK TO JQUERY"></script>
<script type="text/javascript">
$(function(){ // added
$('a.vote').click(function(){
var a_href = $(this).attr('href');
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>contents/hello",
data: "id="+a_href,
success: function(server_response){
if(server_response == 'success'){
$("#result").html(server_response);
}
else{
alert('Not OKay');
}
}
}); //$.ajax ends here
return false
});//.click function ends here
}); // function ends here
</script>
<a href="1" title="vote" class="vote" >Up Vote</a>
<br>
<div class="result"></div>
Run Code Online (Sandbox Code Playgroud)
我的控制器(ajax发送值):
function hello() {
$id=$this->input->post('id');
echo $id;
}
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试实现的是<div class="result"></div>在我的视图文件中获取server_response值(从控制器发送的值).
我尝试了以下代码,但它没有在div中显示值.
你能告诉我问题出在哪里吗?
Vis*_*ioN 12
问题是你有Ajax success处理程序的混合参数.首先是data你的脚本给出的,然后去textStatus.从理论上讲,它可以是"超时","错误","未修改","成功"或"解析错误".但是,在successtextStatus中总是会成功的.但是如果你需要添加alert错误,你可以添加error处理程序.是的,将$("#result")中的选择器更改为class.所以更正的代码可能如下所示:
$.ajax({
type: "POST",
url: "<?php echo base_url(); ?>contents/hello",
data: "id=" + a_href,
success: function(data, textStatus) {
$(".result").html(data);
},
error: function() {
alert('Not OKay');
}
});?
Run Code Online (Sandbox Code Playgroud)
success: function(server_response) {
$(".result").html(server_response);
}?
<div class="result"></div> // result is the class
Run Code Online (Sandbox Code Playgroud)
选择应该是.result不#result