我有一个用户提交数据的页面。
/user1.php
$.ajax({
type: 'POST',
url: '/myDB.php',
data: {
'val' : val
},
dataType : 'json',
success: function (response) {
// update user1.php
}
});
我使用jQuery $.ajax()
将此数据发布到第二页,我将数据存储到db中,如果成功则将响应返回 user.php 。
/myDB.php
$userData = $_POST['userData'];
// STORE DATA IN DB
echo '{ "status": "Ok" }';
// update user2.php > $('#em').text($userData);
是否可以使用jQuery更新第二个用户查看的页面上的其他元素?
/user2.php
<div id="em"></div>
我知道我可以.load()
来自另一个页面的部分内容,只是想知道是否存在反向流动的可能性。
由于
答案 0 :(得分:1)
最好的方法是检查是否有任何变化:
<强> checkupdate.php 强>
<?php
// Check database
$res = Array('changed' => false)
if ($data = $res->fetch();){
$res['changed'] = true;
$res['data'] = $data;
}
exit(json_encode($res));
在第二页上:
function checkupdate(){
$.ajax({
type: 'POST',
url: '/checkupdate.php',
data: {
'val' : val
},
dataType : 'json',
success: function (response) {
if (response.changed){
// do whatever with reponse.data
}
},
error: function(e){
// Do whatever when error
console.log(e);
},
complete: function(){
// Always when finish request do again
setTimeout(checkupdate, 5);
}
});
}
就像Barmar所说,你可以使用套接字,但这不是最好的方法。