js輸出php
① php 的數據如何輸出讓JS來循環操作
$array=array('01','02','03'); echo '';這含首睜樣就提到一個json了唄談歲,然後你就用JS想怎麼循環操作都可以此時data是芹滲一個OJBECT,他有三個屬性分別是0 1 2,值分別是01 02 03你可以data[0] 等待或用for都可以。。
② javascript怎樣調用php函數
womanv 說得很清楚了
JS 是瀏覽器語言,PHP 是伺服器語言,因此JS 無法直接調用 PHP 函數,但PHP 可以調用 JS 函數,方法是:
print("<script type='text/javascript'>alert('OK !')</script>");
如果你想用 JS 與 PHP 通信,最好的辦法就是 AJAX 了,如果你只是想調用 PHP 中的變數,則把變數以隱藏域的形式存儲起來,賦於 id, 以 document.getElementById('ID') 就可以引用了
③ js輸出變數等於php變數
你剛好弄反了;
js 能直接使用 php 的變數,但是反過來就不能直接地使用;
如果硬要讓 php 使用 js 變數值,那就只友知陪能通過發送ajax請求的方式把猛鋒值傳給後台,然後後台好蠢再做處理;
④ JS的值怎麼傳遞給PHP
不用AJAX,最簡單就是傳個參數過去
如:function saveGame(str){
window.location.href='url?str=' + str;
}
樓上的是一種跳轉的方式。如果你想不刷新處理,獲取數據。還是用ajax 。很簡單的。給你個例子。這里我我用jquery的$.post
$.post(URL,{參數1:alue,參數2:value2},function(data){
//這里你可以處理獲取的數據。我使用是json 格式。你也可以使用其它格式。或者為空,讓它自己判斷得了
},'json');
⑤ 上面的php變數 怎麼在下面js語句中輸出
使用echo函數,輸出js;悉擾示例如下:
<?php
$a="chinawinxp與編程拆簡";
echo("<scriptlanguage='javascipt'睜御旦>");
echo("varb={$a};");
echo("alert(b);");
echo("</script>");
⑥ JS循環調用PHP變數的值並且循環輸出js變數的值
setInterval("ShowTimes()",100);
這句改下
⑦ Node.js代碼轉php
如果你們開發團隊正在使用PHP,並考慮遷移到Node.js,這篇文章很適合你。本文並不探討從PHP移植到Node.js的細節,以及Node.js的基礎知識。而是涵蓋:決策制定、著手點的描述、編寫 Node.js 伺服器的深層次注意事項、以及部署策略。
為什麼遷移?
1stdibs 決定從 Apache/PHP 遷移到 Node.js+Express 有五個理由:
代碼更少
全棧式JS
開發人員幸福度更高
投入回報率
未來的優化
代碼更少
1stdibs基於面向服務體系架構(SAO),前端調用後台的Java服務。這意味著需要同時維護前端模型,以及服務端PHP和客戶端JS模板。試想一下,如果可以擺脫PHP,就能夠統一前端展現與後台模型於一種語言:JavaScript(同時可以合並一些模板)。從維護的角度來看,這么做代碼更簡潔,並且沒有重復邏輯。
同構JavaScript萬歲!
全棧式JS(及其優點)
整個開發棧使用一種語言很簡便。對開發者來說,較少的環境切換使他們開心和高效。額外的好處是工具使用更簡單。相比之前使用Composer和npm兩個包管理器,現在只需要一個。盡管Composer很出色,由於nbp負責工具和客戶端管理,nbp總是必要的。一旦去掉所有的PHP代碼,nbp將成為僅有的包管理器。
開發人員樂意
我們要保證開發人員的技能集得到擴展、職業生涯不斷發展,這一點很重要。對於JavaScript工程師而言,Node.js極具吸引力。能夠在服務端使用與客戶端相同的工具、風格和模式,是非常順手和高效的。此外,Node.js相當流行,在企業級開發上也得到了長足發展。Node.js是JavaScript工程師的必備技能。
投入回報率
我們在招聘優秀的JS工程師和培訓初級JS工程師方面花了大價錢。由於客戶端棧很復雜,我們需要高級JavaScript工程師。我們不再僱用PHP工程師,僅僅僱用了JavaScript工程師。我們的觀點是,為什麼不培養他們在服務端的技能呢?
未來的優化
長遠而言,我們打算把兩個龐大的應用分割成一系列獨立部署的小應用。這很容易通過Node.js、Express和nbp實現。理論上,PHP(比如使用Slim)可以做同樣的事。但我們非但得不到上述好處,還會搞得一團糟:在Apache/PHP上進行操作會更加復雜,基礎設施也會變得有些奇怪。
選擇框架
那個最終被我們用Node.js替換掉的PHP應用,主要有如下職責:
登錄和授權
路由選擇和服務端模板引擎(服務HTML)
引導前端應用
代理服務(為了迴避CORS)
服務靜態資源(js,css,images)
這些就是我們需要替換掉的基本功能。
我們嘗試過不少框架,Express令人嘆為觀止(試一下我們評估過的spreadsheet)。任何未基於Express 的框架看起來都不靠譜。Express通俗易懂,並有良好的文檔。另外,可以招聘到正經培訓過Express的人。
我們添加了一些kraken的核心模塊(express-enrouten用於路由選擇、lusca負責安全);此外,i18n-node提供國際化支持,模板引擎使用Swig(我們後來放棄了Swig。呵呵,開源軟體還是有風險的)。
我們考慮過全盤使用kraken,但是從原來的服務端php模板引擎Twig切換到Swig直截了當,還很快捷。此外,kraken裡面的Dust和i18n也不討人喜歡。
編寫伺服器
選好了框架,下一步該寫伺服器了。
使用Apache+PHP時,你不需要再寫一個伺服器。Apache本身就是伺服器,PHP是應用。如果使用Node.js,伺服器和應用是同一個。從Apache/PHP轉到PHP,你需要處理一些之前自然而然使用的功能,這一點很重要。使用Apache,你(或者系統管理員)配置伺服器,在PHP應用里完全不用關心Apache為你處理的那些事。Node.js卻以一種不同的方式來工作。
提供靜態文件服務
毋庸置疑,提供靜態文件服務是Apache的核心功能。Node.js與此不同,你要在應用中配置靜態文件服務。幸運的是這很簡單,有良好的文檔說明,並且是在Express中實現的。
日誌
很多基本的Apache配置為你提供訪問日誌和錯誤日誌。使用Node.js時,估計你也猜到了,同樣需要在應用中配置。所幸很多優秀的開源軟體包使之變得很簡單。Morgan是一個基本的請求日誌記錄器,它配置簡單,允許你把日誌寫到輸出流(標准輸出設備或文件)。如果你需要把日誌寫到資料庫,或者有別的(更高級的)日誌需求,那就試一下winston吧。
代理
我們有一個基本需求:能夠代理傳輸客戶端ajax請求到後台服務。相比於處理CORS頭,代理所有來自相同域的請求要簡單得多。但你要想通過代理使用webpack-dev-server(正如我們所做的),就必須在Node.js應用中處理這一問題。http-proxy是一個簡單可靠的解決方案。
剩下的工作
除了上面提到的,還有一些列別的工作需要完成。我們從一個MVC應用談起,該應用基於 CodeIgniter(CI)框架,為一系列單頁應用提供服務。大部分工作就是移植:
CI控制器移植到Express路由選擇器和中間件(包括登錄和認證)
Twig模板引擎移植到Swig(這一步比較瑣碎)
Service層數據訪問(以便正常啟動客戶端單頁應用)
上面並未列出CodeIgniter模型這一關鍵組件。事實上根本不用重寫PHP模型!太給力了!我們的客戶端應用使用Backbone模型。當然這要擴展Backbone.Model.sync,從而使之全局地工作在伺服器和客戶端。
部署
如果你的app規模較大,不應該一次性全部上線。可以通過漸進式部署的方式逐步上線。我們因此花費了好幾周。
漸進式部署的優點:
最小化bug范圍
每次在發布一部分路由及功能的同時,其他工程師可以正常進行開發
對正在進行的功能開發和改進影響最小 — 新功能可以繼續發布(這可能導致重復的工作)
如果操作得當,可以快速回滾到之前的服務
NGINX很不錯
該如何逐步上線呢?我們在眾多的伺服器中挑選了Nginx。
1
2
3
4
5
+----------+
http | |--->
Apache/PHP
request---->| Nginx
|
| |--->
Node.js
+----------+
Nginx允許你一次只「打開」一個路由(如果發現情況不妙就關掉 — 正如我們多次遇到的),這給了你很大的自由度。我們也發現打開路由的時候不用部署代碼,這很有幫助。這在一周一次的發布計劃里,為我們提供了一些迴旋空間。
不過有一個缺點,你需要確保客戶端代碼同時接受舊的Apache/PHP伺服器和新的Node.js伺服器提供的服務。這並不可怕,不過你要把舊伺服器上未優化的功能移植到新的伺服器。屏住呼吸去做吧(記得寫一個便利貼去清理你的技術債)。
總結
從頭到尾,整個移植工作大概花費了一年。這聽起來可能有點荒謬,不過這個時間表包括決策過程(比較匆忙)、基於Express寫一個滿足需求的核心框架、移植所有功能、逐步漸進式上線。此外,請記住,我們始終只有一兩個開發者為之工作 — 並且是兼職。
如果你想嘗試一下,請慎重考慮。你的團隊能否受益?你的整個組織能否受益?如果你來自商業組織,請記住商業需要持續運轉。你需要在商業目標和工程目標之間找到良好的平衡。
⑧ JS在PHP頁面使用樣式輸出SESSION
<script type="text/JavaScript">乎山
$(function(){
if("<棚纖?php echo $_SESSION['admin'];?>"!=null){
$('#dlh').css('display','none');
$('鏈頃仿#zx').css('display','block');
$('#vip').css({"color":"#c3711d","font-size":"16px"}).html(",歡迎<?php echo $_SESSION['admin']; ?>登陸");
}
})
</script>
加個引號。。。
⑨ js 里的數值傳出給 php
立即在本頁使用,而且不刷新頁面,那麼,只能在客戶端,而不能在伺服器端你,那麼,你認為,這可能嗎?
php是相對伺服器的,對於客戶端來說(瀏覽器),不存在php,瀏覽器認識和能做的是,就是js、html、css、flash等
就算ajax,也只是把js變數以get或者post方式作為參數請求伺服器文件,就算ajax取回了伺服器運行後的文件的運行結果,也只能賦值到js變數、html元素、css樣式、表單標簽等元素上,
也就是說,當你在瀏覽器看到網頁內容後,就算有php代碼,也已經被伺服器運行編譯成你html源了,終歸一句話,無論你用什麼動態語言做的網頁,只要展現到瀏覽器了,那他就只有html源了,不管是直接請求的還是ajax請求的,那麼,又何來把js變數賦給php變數呢?
⑩ 如何在js中調用php
在js中調用php的方法是直接在script標簽的src屬性中嵌入要訪問的php地址。
1、JS方式調用PHP文件並取得PHP中的值
舉例說明:
如在頁面test_json1中用下面這句調用:
<scripttype="text/javascript"src="/index.php/test/testjson2">
</script>
<scripttype="text/javascript">
alert(jstext);
</script>
2、在test_json2.php中有這樣一段PHP代碼:
<?php
$php_test='IcomefromPHP!';
echo"vartest='$php_test';";
echo"varjstext="."'$php_test';";
?>
當執行test_json1.php文件時,就會調用test_json2.php文件,並將b.php文件的輸出作為JS語句來執行,
所以此處會彈出一個提示框,內容為JS變數jstext的值,也就是在PHP文件中賦給jstext的值。
3、調用結果: