[英]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.