繁体   English   中英

json与ajax结合使用以在另一个新页面上获取数据,但是即使使用e.preventDefault()也可以重新加载页面; 功能

[英]json using with ajax to get data on another new page but page reload even using e.preventDefault(); function

我想在另一个新页面上获取价值并在不刷新的情况下打开新页面我正在使用此处发布方法我正在使用json来获取价值我在此ajax代码中是新的

我想从team.php控制器页面移至team_detail.php,而不用值刷新页面

我正在使用team.js文件

$( ".all_athlete_list2" ).on( "click", function(e) {
     e.preventDefault();
   var av = $(this).attr("data-json1");
   var av2 =   JSON.parse(av);
    $.ajax({
      type: 'POST',
      url: 'team_details',
      data: {'teamId1=' : av2},
      complete: function(data){
       location.href = "team_detail;

      }
    });

}); 

我的HTML部分,我正在使用锚标记来获取价值

team.php文件,其中我正在使用定位标记移动具有值的另一个页面

   <?php foreach ($data['teams'] as $key => $value) { ?>
      <tr> <td>                               
        <a class="all_athlete_list2" style="color:black" data-json1='<?php 
         echo json_encode($value['team_id'], TRUE); ?>' data- 
         block="team_form_block" data-form="team_form" > <?php echo 
         $value['team_name']; ?>
       </a> 
    </td></tr>   
  <?php } ?>   

我在控制器中的控制器部分,我想使用post方法获取“ temId1”,但不获取teamId1的值,这是此页面上的Team_detail.php页面。我想在不使用页面刷新的情况下使用Ajax值,请在单击时打开HTML页面的Team_details这个新页面在锚标签上

public function index() {
 $userType = $this->session->userData('userType');
    $gymAccountId = '';
    if($userType == 1){
        $acountListResp = $this->Common->fetch_account('');            
        $data['data']['accounts'] = $acountListResp;
    }else{            
        $gymAccountId = $this->session->userData('gym_account_id');
    }
    $jk =  $this->input->get(); 
    $data1 = $jk['teamId1'];

    $athletesListResp = $this->Common->fetch_athletes($gymAccountId);
    $coachesListResp = $this->Common->fetch_coaches($gymAccountId);
    $teamListResp = $this->Team_details->fetch_team($data1);
    $fetch_coach_list = $this->Team_details->fetch_coach(); 

    $data['data']['athletes'] = $athletesListResp;
    $data['data']['coaches'] = $coachesListResp;
    $data['data']['teams'] = $teamListResp;
    $data['data']['coach_data'] = $fetch_coach_list;

   $this->load->template(array("Portal/Team_details" => ""), $data);
}

在模型中,我正在使用简单的选择查询来获取数据,但是在模型中,条件条件为空白,则不显示teamId1的值

这是Team_details.php模块页面

public function fetch_team($data1){
             $all_id = $data1;
  $query = $this->db->query("SELECT u1.first_name 'first_name(coach_name)',
       u2.first_name 'first_name(athlete_name)',
       dtt.team_id,
       dtt.team_name
FROM dev_team dtt 
INNER JOIN dev_teams_athlete  dtta on dtt.team_id = dtta.team_id
LEFT JOIN dev_user u1 on dtt.user_id = u1.user_id
LEFT JOIN dev_user u2 on dtta.user_id = u2.user_id  where dtt.team_id = '$all_id' ");

       $result = $query->result_array();
       return $result;
      }

我想要没有页面刷新的值,并在另一个带有值的页面上重定向,我想在视图页面上的“ Team_detail”中使用值重定向我的页面

我看到一个synthax错误在你team.js脚本:使用

data: {teamId1 : av2},

代替

data: {'teamId1=' : av2},

这是否有助于将您设置在正确的方向?

 $( ".all_athlete_list2" ).on( "click", function(e) { e.preventDefault(); var av = $(this).attr("data-json1"); var av2 = JSON.parse(av); $.ajax({ type: 'POST', url: 'team_details', data: {'teamId1=' : av2}, complete: function(data){ $.ajax({ type: 'GET', url: 'team_detail', complete: function(data){ // do something here with your response } }); } }); }); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM