在输入类型jquery中通过ajax返回值而不是获取这些值

时间:2014-08-30 21:56:18

标签: jquery ajax codeigniter

我发送数据用于检查天气是否存在该项目如果是,我返回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&nbsp;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;
        }
    }

1 个答案:

答案 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);
          }
       });