你好,我所有我有一个问题,我有一个表中的链接在其中一列 点击该链接我发送到一个函数,使用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调试器能否正确变动,但我仍然重定向到错误的网站
感谢您的帮助
你签你的控制台日志? – hassan
尝试检查,如果'链接的href'在Chrome检查已经改变。也尝试控制台登录成功回调内的'检查',看看是否找到一个元素匹配'$('#redirection'+ num)' – harryjohn
嗨,我也这样做,当我检查后,检查变量分配我可以看到,它的href设置正确 的问题是,当我离开阿贾克斯的范围内,正在改变原来的链接再次 –