本文目錄一覽:
- 1、如何用php+ajax實現頁面的局部刷新
- 2、php 怎樣實現非同步處理介面
- 3、誰說PHP不支持非同步操作
- 4、用DW開發的php網頁 怎麼在eclipse中調用加入非同步無刷新功能
- 5、PHP 怎樣非同步處理
如何用php+ajax實現頁面的局部刷新
第一步,引入jquery,各樣的版本都有,搜一下,下載下來
script type=”text/javascript” src=”images/jquery-1.4.4.min.js”/script
第二步 局部非同步刷新的HTML添加ID,比如
div id=”shuaxin”/div//需要刷新的內容
a href=”#” onclick=”Refresh()”刷新/a//點擊刷新
第三步 設置路徑,參數等
script
function Refresh()
{
$.ajax({
async: false,
url: “a.php”,//PHP文件的地址
type: “post”,//get和post發送方式
data: { id:”1″,cid:”2″},//參數,沒有參數可以不要,現在是這樣(a.php?a=1$cid=2)
success: function (data)
{
$(“#shuaxin”).html(data);//data是返回的數據,根據ID添加到shuaxin的div里
}
});
}
/script
第四步,這是PHP返回數據 a.php
?php
$id=$_REQUEST[‘id’];//接收id參數,沒有參數就不用寫
$cid=$_REQUEST[‘cid’];//接收cid參數,沒有參數就不用寫
//做一些你想做的操作,
echo ?? //返回給html
?
大概就是這個樣子,沒測試。
php 怎樣實現非同步處理介面
首先 php 7以下 不支持非同步方式(有個類庫 可以勉強算是支持了非同步 名字忘了)
其次 php腳本 由於是逐行解析的,不常駐線程(當然可以設置為永久連接,不自動超時退出) 非同步意義不大。
第三 我懷疑你是想問javascript的非同步請求? 如何用php處理?
如果沒問錯的話 可以用其他方式來解決非同步問題,就是同時發出多個web request請求 等多個請求成功之後將結果寫入資料庫(文件) 然後 有一個 一直在等待結果的php請求進程 一旦讀取到了這個寫入完畢的(資料庫)文件結果 馬上返回給瀏覽器
誰說PHP不支持非同步操作
答案是肯定的,不過網上各種的純PHP實現得就有點彆扭了。socket模式、掛起進程模式、有的還直接fork進程。很好,各路神仙各顯神通。如果運維人員看到的話,一定會×××××你們的,不把web server跑死才怪……
那還有其他更好的方法去實現這個非同步操作的可能么?有,現在我們只有想怎麼開外掛了。查一下PECL主流的外掛方案有一堆的××MQ(消息隊列),其中有個用於任務分配的外掛進入了我們的視線Gearman(其實這傢伙才是角,我就不詳細介紹了,點連接看介紹)。
用DW開發的php網頁 怎麼在eclipse中調用加入非同步無刷新功能
這個是沒辦法的,DW可以檢測到文件的改動,eclipse並沒有這個機制
PHP 怎樣非同步處理
利用php的系統調用,開啟新的進程來實現。
php
提供了fsockopen函數,此函數的功能為初始化一個套接字連接到指定主機,默認情況下將以阻塞模式開啟套接字連接。當然你可以通過stream_set_blocking()將它轉換到非阻塞模式。這是關鍵。所以,思路就是:開啟一個非阻塞的套接字連接到本機,本機收到之後作一些耗時處理。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/282678.html