我发送数据用于检查天气是否存在该项目如果是,我返回1并且在其他情况下我返回0.我使用codeigniter框架进行jquery ajax请求,当值在ajax中返回时我将无法在ajax请求完成后直接选择这些值我想知道为什么我无法获取返回的值。首先问题是ajax返回了很多空格的值,所以我改变了我的技术以获得结果,但我仍然被卡住了请帮助我。 这是我的控制器代码。
function check_upload()
{
$data=array(
'pname'=>$this->input->post('imgdata'),
'current_session_id'=>$this->input->post('session_id'),
);
$data=$this->cartmodel->get_count('temp_cart',$data);
//echo '<tr><td class="cart-check">'.$data.'<td></tr>';
echo "<input type=\"text\" class=\"core\" value=\"$data\" data-value=\"$data\">";
}
以下是jquery ajax请求代码的视图。
<script type="text/javascript">
$(document).ready(function() {
var counter=1;
$(document).on('click',".cartoon",function(){
//start block of adding cart values
var cn=$("#co").val();
var cnc=counter++;
var total=parseInt(cn)+parseInt(cnc);
$("#counter").text(total);
//end block of adding cart values
var pic=$(this).find(".imgslct").attr('src');
var imgdata= $(this).find(".pname").text();
var productquantity= $(this).find('.pquan').val();
var productid=$(this).find('.subcid').val();
var price=$(this).find(".price").attr('data-value');
var qty="1";
var session_id="<?=$this->session->userdata('session_id');?>";
var pid=$(".pid").val();
if(qty=="")
{
alert("no quantity added");
return false;
}
$.ajax({
type:"post",
url:"<?=base_url();?>check_upload",
data:"session_id="+session_id+"&imgdata="+imgdata,
success: function(data)
{
$(".cart-append").append(data);
}
});
// problem lies here
var check=$(".core").attr('data-value');
alert(check);
<!-- for inspecting the item is added or not -->
//$("#myElem").show().delay(5000).fadeOut();
$.ajax({
type:"post",
url:"<?=base_url();?>temp_upload",
data:"pic="+pic+"&imgdata="+imgdata+"&productquantity="+productquantity+"&productid="+productid+"&price="+price+"&qty="+qty+"&session_id="+session_id+"&pid="+pid,
success: function(data)
{
alert(data);
$("#uploaded").html();
}
});
$("#newdata").append('<tr><td class="image"><img alt="IMAGE" class="img-responsive" src="'+pic+'"></td><td class="name"><a href="project.html">'+imgdata+'</a></td><td class="quantity">x 3</td><td class="total" data-value="'+price+'">'+price+'</td><td class="remove"><img src='+pic+' alt="Remove" title="Remove"></td></tr>');
});
});
这是模态代码。
function get_count($table, $where=NULL)
{
if(!empty($where))
{
$this->db->where($where);
}
$query=$this->db->get($table);
if($query->num_rows>0)
{
return 1;
}
else
{
return 0;
}
}
答案 0 :(得分:1)
尝试更改:
$.ajax({
type:"post",
url:"<?=base_url();?>check_upload",
data:"session_id="+session_id+"&imgdata="+imgdata,
success: function(data)
{
$(".cart-append").append(data);
}
});
// problem lies here
var check=$(".core").attr('data-value');
alert(check);
到
$.ajax({
type:"post",
url:"<?=base_url();?>check_upload",
data:"session_id="+session_id+"&imgdata="+imgdata,
success: function(data)
{
$(".cart-append").append(data);
var check=$(".core").attr('data-value');
alert(check);
}
});
在ajax调用中添加async:false也可能对您有所帮助。
$.ajax({
type:"post",
async: false,
url:"<?=base_url();?>check_upload",
data:"session_id="+session_id+"&imgdata="+imgdata,
success: function(data)
{
$(".cart-append").append(data);
var check=$(".core").attr('data-value');
alert(check);
}
});