2017-04-02 73 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

感謝所有誰試圖幫助我