2013-06-22 19 views
0

我認爲這將是非常簡單的,但很明顯,經過幾天的審判,並沒有成功,我不得不要求人們幫助,無處不在。更改ajax內容負載上的php變量的值

權利即時通訊基本上創建一個PHP模板沒有太多的指導基礎4框架與響應框架。現在這個框架是相當基本的,所以添加頁面轉換iive不得不使用jQuery來做我認爲是從另一個頁面獲取「內容」並將其顯示在模板頁面index.html

上的ajax調用我目前使用以下

<script> 
$(document).ready(function() { 
$('nav.top-bar > section.top-bar-section > ul.right > li > a').click(function() { 

    var toLoad = $(this).attr('href')+' #content'; 
     $('#content').hide(1000,loadContent); 
     $('#load').remove(); 
     $('#main_wrapper').append('<span id="load">LOADING...</span>'); 
     $('#load').fadeIn('fast'); 
       window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0); 
     function loadContent() { 
     $('#content').load(toLoad,showNewContent); 
     } 
     function showNewContent() { 
     $('#content').show(1000,hideLoader); 
     } 
     function hideLoader() { 
     $('#load').fadeOut('fast'); 

     } 
return false; 

     }); 
    }); 
    </script> 

現在擺在我改變了使用AJAX和jQuery我在操作菜單中的「積極」級,並在第一行每一頁上一個簡單的變量集列爲頁面名稱$頁=「」,然後將網頁名稱

現在,即時通訊LOADI納克與阿賈克斯的內容,即使我包括在新頁面的內容也不會在更新這個變量要麼或菜單標題

IM非常抱歉,我不寫正確的東西即時通訊新的這個論壇的事情

感謝您提前幫助 :)我更喜歡有人解釋我需要做什麼以及如何做,而不是像學習者那樣複製和粘貼代碼:)

+0

嗨,你在用什麼$頁,以及如何?它的意圖是什麼?你是否想要跟蹤最近加載的內容,以便在重新訪問時打開相同的內容? – kms

+0

爲了記錄,Foundation是一個CSS樣式的CSS框架,用於支持響應式設計(沒有我知道的功能效果)。 – dudewad

回答

0

您可能想要加載頁面並在jQuery中解析結果以獲取新頁面的<title>標籤並設置請求頁面的<title>標籤。

我唯一要問的是:你爲什麼這樣做?你只是想在你的網站AJAX頁面導航,而不是傳統的傳播導航?

+0

我認爲我設置了一個php模板,並且在理論上我對導航li項目有ifelse條件,但是現在我認爲頁面之間的拖動被告知使用jquery。 。唯一的缺點是當我把'<?php echo $ page;?>'放在和導航標題中,然後把頁面變量放到內容中時,它不會在這些頁面中更新它?解釋任何幫助 –

+0

當頁面被渲染時,你不能「更新」一個PHP變量。如果您想在呈現HTML頁面後對其進行更改,則需要使用客戶端技術,如JavaScript。 PHP腳本已被處理,您不能更改變量。 –

+0

這就是即時通訊問「我怎麼」可以改變這一點,即在上面列出的功能,我試圖把一個div圍繞變量,然後改變內容,但沒有工作 –

0

我只能給你的問題的一個部分回答是由於極度混亂,所以:

首先,這裏就是爲什麼你的URL變化:

window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-0); 

你與該行修改它。然而,這條線有一個有趣的小怪癖:

attr('href').length-0 

在最後。爲什麼-0?這沒有什麼區別。我會清理它。

除此之外,我非常困惑與你問什麼,所以讓我嘗試改寫它,你可以告訴我我錯過了什麼。

你想讓用戶點擊一個導航鏈接,並通過使用jQuery的AJAX調用加載該鏈接的內容,然後用新加載的頁面替換頁面上的內容,是否正確?

當你說「右上角的主頁我有變量$頁=然後頁面名稱」,你是什麼意思的「主頁」?你的意思是它是HTML中的一行文字嗎?你沒有包括在這裏的腳本的一部分?你的PHP代碼的一部分?

然後你說「我嘗試了將標記包含在隨上述內容一起更改的div中」 - 什麼是「標記」?

通過閱讀這4或5次,我幾乎無法辨別上述對你想要做什麼的理解。

請使沉重編輯給你的問題,這是難以置信的難以理解。

最後,爲什麼你要替換瀏覽器的用戶點擊鏈接和加載內容的功能?這就是瀏覽器的用途。瀏覽器也很方便地在url欄中有一個加載指示器(或其某種形式),讓用戶知道內容仍在加載。

+0

已編輯對不起:(這是任何更好的新的論壇的東西 –

+0

這是更具描述性。這是一個問題,你是否從任何東西回到「var toLoad = $(this).attr('href')+'#內容';「? – dudewad

+0

是的一切正在工作頁面消失加載欄出現,然後從一個頁面加載新的內容,除了**

Content Here
**和是的,我知道基礎4是一個CSS框架和是的它沒有花哨的頁面轉換或tbh任何類型的許多轉換,因此爲什麼我要去這個大的努力來創建它們:( –

0
function loadContent() { 
    $('#content').load(toLoad,showNewContent); 
} 

所以第一關,看看jQuery的文檔的加載方法: http://api.jquery.com/load/

您的問題是,它要求三個參數,而你傳遞了兩個。如果列出了多個參數,並且您只想傳遞其中一些參數,則仍然需要爲要「跳過」的參數提供一個空值。嘗試改變你的電話:

function loadContent() { 
    $('#content').load(toLoad, null, showNewContent); 
} 

你會注意到我傳遞「null」。如果還是不行,傳遞一個空字符串,像這樣:

function loadContent() { 
    $('#content').load(toLoad, "", showNewContent); 
} 

這第二個參數是要與請求傳遞數據。這是你列出的第三個參數,作爲你的回調,據我所知,這是你犯錯的地方。