簡體   English   中英

AJAX-重新加載網頁的一部分,而無需使用單獨的文件來加載

[英]AJAX - Reload a part of a webpage without the use of a separate file to load

標題可能有些混亂,所以讓我解釋一下。

我有一個帶有側面板的網站,其中包含有關用戶,用戶可以執行的操作等信息。當用戶未登錄時,該側面板將成為登錄或注冊的區域。

的代碼是:

<?php
if($user->loggedIn)
{
?>
<!-- side-panel for logged in users here -->
<?php
}
else
{
?>
<!-- login/registration etc -->
<?php
}
?>

我想要做的是當用戶單擊AJAX登錄時再次加載此代碼段,並使用jQuery效果(可能淡入淡出),該效果可以使側面板從登錄/注冊平滑過渡到僅用於用戶的閃亮面板。

我知道如果將代碼放在另一個文件中,並通過AJAX將其加載到側面板的div中,我可以做到這一點……但是我寧願不為側面板制作一個單獨的文件。 這可能嗎?

您可以使用AJAX請求加載頁面,然后剝離除側面板以外的數據,但這有什么用呢? 最好的選擇是將側面板簡單地分成自己的文件。

哦,這也被認為是正確的方法,因此您可以編輯側邊欄而無需編輯側邊欄。

如果我完全了解您的要求,可以嘗試以下方法:

$.ajax({
    type: "GET",
    url: "url", // replace 'url' with your url
    cache: false,
    success: function(data){
        alert($(data).find('#sidebar').html());
    }
});

也許可以使用$ .load()或$ .get(),dunno。

您為什么反對將側面板保留在自己的文件中? 使事情保持模塊化和組織性。

如果您確實反對將內容保存在文件中,則可以將內容放入數據庫中,並在進行AJAX調用時進行查詢。

假設您將通過另一個調用獲取實際的用戶數據,則可以使用兩個div。 包含用戶面板html的div開始隱藏。 成功登錄后,隱藏登錄div並顯示用戶面板div。 使用AJAX登錄中的數據,填寫面板自定義信息。 我假設AJAX登錄調用將返回必要的信息,以填寫用戶名及其作用。 這樣就可以了,因此您不必為整個用戶面板插入html。

您能否將查詢字符串參數傳遞給頁面,然后根據此參數僅對頁面進行部分渲染(僅側邊欄)? 然后,只需使用常規的jquery / ajax方法並包括查詢字符串參數即可。

$.ajax(function(){
    url: MyPage.php?sidebar_only=true
    ect...
})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM