我的服務(wù)器上有一個(gè)執(zhí)行多項(xiàng)任務(wù)(設(shè)置文件夾、復(fù)制文件等)的 php 腳本,我用 ajax 調(diào)用該腳本。IE注冊(cè).js:const evtSource = new EventSource("/createuser.php", { withCredentials: true } );evtSource.onmessage = function(event) { console.log(event.data);}$.ajax({ type: 'POST', url: '/createuser.php', dataType: 'json', data: { 'username': "test user", 'usertype' : "author" }, success: function(data){ console.log("user created"); }});現(xiàn)在在 createuser.php 上,我嘗試向我的網(wǎng)頁(yè)發(fā)送一條消息:創(chuàng)建用戶.php:<?phpfunction SendProgressMessage($op){ header('Content-Type: text/event-stream'); header('Cache-Control: no-cache'); switch($op){ case "userCreated": echo "User Created"; break; case "foldersCreated": echo "Folder structure created"; break; case "TemplatesCopied": echo "Templates Copied"; break; } flush();}?>我可以將 evtSource 設(shè)置為相同的腳本和 ajax 調(diào)用,還是為腳本創(chuàng)建 2 個(gè)會(huì)話?
1 回答

牛魔王的故事
TA貢獻(xiàn)1830條經(jīng)驗(yàn) 獲得超3個(gè)贊
你不能這樣設(shè)置,AJAX 請(qǐng)求會(huì)在服務(wù)器端產(chǎn)生一個(gè)新的 PHP 進(jìn)程,它不知道第一個(gè)進(jìn)程。
長(zhǎng)時(shí)間工作的腳本應(yīng)該將狀態(tài)存儲(chǔ)到數(shù)據(jù)庫(kù)中,從那里可以通過(guò)第二個(gè)(,第三個(gè),...)請(qǐng)求獨(dú)立查詢。
- 1 回答
- 0 關(guān)注
- 129 瀏覽
添加回答
舉報(bào)
0/150
提交
取消