![](/img/trans.png)
[英]Return false not working after ajax call to block HREF value of anchor tag
[英]changing the href of anchor inside ajax return but then it is overwritten
大家好,我有一個問題,我在該鏈接的點擊后的某列中有一個鏈接表,我將其發送給使用ajax的函數,以獲取指向該鏈接的其他鏈接。 在ajax函數中,它已正確更改,但是在完成ajax之后,它仍然重定向到原始頁面。 如果我在ajax之外將其更改,則可以正常工作並重定向到其他站點
這是我的代碼:
用於建立表格的php函數
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;
}
更改href的javascript
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");
}
});
}
當我提醒重置的值是正確的值時,並且當我檢查調試器中的check的href值時,它已正確更改,但隨后我仍然重定向到錯誤的站點
謝謝您的幫助
我認為問題出在href=”/?
和錯誤的雙引號,並且錯過了右引號並刪除了"?"
在=/
onclick="redirect('.$num.')" href=”/?redirection.php?' . $row['value2'] . '
就像這樣
onclick="redirect('.$num.')" href="/redirection.php?' . $row['value2'] .'"
希望有幫助。
好的,這樣我就解決了所有錯誤,只是想出了辦法而不是更改href,然后讓它將我重定向到頁面,我只是使用window.location從ajax內部重定向了我,並且href更改是多余的
感謝所有試圖幫助我的人
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.