2017-04-02 70 views
0

你好,我所有我有一个问题,我有一个表中的链接在其中一列 点击该链接我发送到一个函数,使用ajax获取不同的链接供其指导。 ajax的函数内部它被正确的改变,但是它完成了ajax再经过它仍然重定向到原来的页面。 如果我改变它的AJAX返回它正常工作,并重定向到不同的网站更改ajax返回锚内的href,但然后它被覆盖

之外,这是我的代码:

构建表

function populate() 
{ 
$link = connectToDB(); 
$query = 'Select value1, value2 
     from table1'; 
$data = read($query, $link); 
$table = '<div id="table"><table id="links"> 
      <tr> 
      <th>value1</th> 
      <th>value2</th> 
      </tr>'; 

$num =0; 
while ($row = $data->fetch_assoc()) { 
    $table .= '<tr>'; 
    $table .= '<td>' . $row['value1'] . '</td>'; 
    $table .= '<td><a id="redirection'.$num.'" onclick="redirect('.$num.')" href=”/?redirection.php?' . $row['value2'] . '>' . $row['value1'] .'</td>'; 
    $table .= '</tr>'; 
    $num++; 
} 
$table .= '</table></div>'; 
mysqli_close($link); 
return $table; 
} 

的JavaScript修改PHP函数href

function redirect(num){ 
    var url = $("#redirection"+num).attr("href"); 
    var sub = url.split('?'); 
    var val1= sub[2]; 
    var test = ""; 
    $.ajax({ 
     url: 'getNewUrl.php', 
     type:'POST', 
     dataType: 'json', 
     data: { name: val1}, 
     success: function(table){ 
      alert(table.val2); 
      $("#redirection"+num).attr("href",table.val2); 
      var check =$("#redirection"+num); 
     }, 
     error: function() { 
      alert("No value with that name"); 
     } 
    }); 
} 

当我提醒值retured它是正确的,当我检查ch的href值ECK调试器能否正确变动,但我仍然重定向到错误的网站

感谢您的帮助

+0

你签你的控制台日志? – hassan

+0

尝试检查,如果'链接的href'在Chrome检查已经改变。也尝试控制台登录成功回调内的'检查',看看是否找到一个元素匹配'$('#redirection'+ num)' – harryjohn

+0

嗨,我也这样做,当我检查后,检查变量分配我可以看到,它的href设置正确 的问题是,当我离开阿贾克斯的范围内,正在改变原来的链接再次 –

回答

0

我认为这个问题是在href=”/?和错误的双引号而错过密切报价和=/

后删除 "?"
onclick="redirect('.$num.')" href=”/?redirection.php?' . $row['value2'] . ' 

它的高度重视和是这样的。

onclick="redirect('.$num.')" href="/redirection.php?' . $row['value2'] .'" 

希望这有助于。

+0

感谢您的回答我使用的是错误的双引号,因此原始链接wasnt不太妙我固定但它并没有真正的帮助 它仍然在ajax的范围内正确更改,然后在我离开该范围后返回原始 –

+0

什么是val2函数重定向?和你想做什么?只是改变了atributte HREF或其他什么东西? –

0

好了,所以我要为这一切错误的,只是想通了 ,而不是改变的HREF然后让它从阿贾克斯 内部重定向我到一个页面 我只是用 window.location的 重定向我并在href变化redundent

感谢所有谁试图帮助我