gpt4 book ai didi

PHP Ajax聊天: data one PC to another pc not sending/receiving

转载 作者:行者123 更新时间:2023-12-02 19:08:09 27 4
gpt4 key购买 nike

我正在创建一个基本的 Php Ajax 聊天应用程序。

当我在自己的电脑上跨浏览器使用这个基本应用程序时(意味着一次 chrome 和 Mozilla 假设两个人)工作正常。但是当我在跨 PC 上使用此应用程序时,意味着一个人正在从一台 PC 聊天,而另一个人正在从第二台 PC 聊天,那么它就不起作用了。

问题:从一台电脑发送的聊天内容正在第二台电脑上接收 但从第二台电脑(聊天回复)发送的聊天内容未收到

 Ajax response is not coming using `set Interval` and browser is not refreshing..

代码:

J 查询

setInterval(function() { 
$.ajax({
url: "http://192.168.1.13/naresh/ajaxchat/chatsave.php?q=getChat",
success: function(response) {
$("#ulShowChatContent").append(response);
}
});
}, 1000);

PHP

function getChat(){
$useremail = $_SESSION['email'];
$sqlGetUserInfo = mysql_query("select * from users where email = '$useremail'") or die(mysql_error());
if(mysql_num_rows($sqlGetUserInfo)>0){
$userInfo = mysql_fetch_array($sqlGetUserInfo);
$userId = $userInfo['id'];
$currentdate = date('Y-m-d H:i:s');

$sqlGetChatContent = mysql_query("select chat_id,chat_content,name from pvt_chat
INNER JOIN users ON pvt_chat.userid = users.id
where pvt_chat.userid != '$userId'
and receive_status = 0
and send_datetime <= '$currentdate'
ORDER BY send_datetime DESC limit 1") or die(mysql_error());

if(mysql_num_rows($sqlGetChatContent)>0) {
$resGetChatContent = mysql_fetch_array($sqlGetChatContent);
$receiveChatId = $resGetChatContent['chat_id'];
echo '<li>'.$resGetChatContent['name'].' says : '.$resGetChatContent['chat_content'].'</li>';
$sqlUpdateRecStatus = mysql_query("UPDATE pvt_chat SET receive_status = '1' WHERE chat_id ='$receiveChatId'") or die(mysql_error());
}
}
}

最佳答案

我的问题是:PC2 使用什么网页(+ 域)来访问聊天?如果从本地主机或 192.168.1.13 以外的任何域/IP 访问该页面,则存在跨域问题。出于安全原因,现在的浏览器会阻止对另一个域上的网页进行 AJAX 调用(甚至子域和端口必须是相同的 IIRC)。例如,如果 PC2 从 http://localhost/chatPage.html 访问网页,则他无法在 AJAX 调用中向“http://192.168.1.13”发出请求。

一些解决方案:

  • 将聊天页面托管在 AJAX 调用所在的同一服务器上(以便聊天页面的域与 AJAX 调用的域相同)
  • 使用 JSON 响应并在浏览器中将其转换为 HTML。使用 JSON 时,有一个跨域问题的解决方法,但这意味着您必须自己将 JSON 输出转换为 HTML。您还需要确保将属性 dataType: 'jsonp' 放入 AJAX 调用中。

关于PHP Ajax聊天: data one PC to another pc not sending/receiving,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com