1
在我看來,即時通訊做的:奇怪的錨標記行爲
<?php if($user_can_write) {?>
<a href=<?php echo base_url('backend_controllers/users/foo')?> style="text-decoration:none">
Add</a>
<?php } ?>
我傳遞變量$ user_can_write從我的控制器,這是我實現訪問控制的奇怪的部分是每當我刷新這個頁面,即這個視圖中,錨標籤被執行,即每次都調用和執行用戶控制器中的foo函數!基本上,foo函數將db遞增一行(將行添加到db),所以這實際上並不實際對我來說,在每一次刷新錨標籤執行
現在,如果我這樣做這個實現我n中的視圖(另一種方法):
<?php if($user_can_write) {?>
<a href='javascript:void(0);' onclick="on_click_method_for_anchor()" style="text-decoration:none">
Add</a>
<?php } ?>
,並在我的javascript進一步我這樣做:
function on_click_method_for_anchor(){
$.ajax({
url: '<?php echo base_url('backend_controllers/user/foo'); ?>',
type: 'POST',
success: function(result){
$('.my_span_tag_class').html(result)
}
});
這看似完美的,即使我重新加載頁面時,富不叫,有人可以告訴我爲什麼錨標籤的行爲如此?我錯過了一些明顯的東西?
你有這樣的腳本哪些調用文檔就緒或身體onload並執行標籤? – GBD
yes @GBD我在腳本中準備好了文檔,但是沒有一個會導致對foo函數的調用,或者任何會導致在我的db中插入的函數,只有foo纔會執行 –
@GBD,如果文檔中有腳本準備好導致插入數據庫,爲什麼它會停止,當我執行替代方法? –