【发布时间】:2014-03-12 07:13:29
【问题描述】:
所以我正在尝试获取 AJAX 请求以将值返回到我的 node.js 客户端页面。 它正在与不同的端口通信,所以我假设这是导致问题的原因。
我有以下。
client.html 文件
socket.on('connect', function(){
var user;
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
user=xmlhttp.responseText;
}
}
xmlhttp.open("GET","http:localhost:80/getUserSession.php",true);
xmlhttp.send();
alert(user);
});
getUserSession.php 文件
<?php
header('Access-Control-Allow-Origin: *');
session_start();//start the session
if(isset($_SESSION['username'])){
echo $_SESSION['username'];
}
?>
如果我直接运行我的http:localhost:80/getUserSession.php 文件,它会回显当前会话用户。但是,当使用请求时,它会警告该值未定义。
谢谢肖恩
更新 您好,感谢您的回复,我检查了日志文件,首先 ajax 请求确实进入了日志,但是我可以看到它应该是 localhost:80 时会转到 localhost:8080
这是尝试执行 ajax 请求时日志中的内容,请注意 localhost:8080,即使我在 ajax 请求中有 http://localhost:80/getUserSession.php
127.0.0.1 - - [11/Mar/2014:23:02:33 +0000] "GET /getUserSession.php HTTP/1.1" 200 - "`http://localhost:8080/`" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
这是我手动访问链接并查看回显用户名时的日志。
127.0.0.1 - - [11/Mar/2014:23:03:19 +0000] "GET /getUserSession.php HTTP/1.1" 200 5 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 Firefox/27.0"
【问题讨论】:
-
AJAX 请求是否到达服务器?你能在日志文件中找到它吗?
-
我不明白:Node.js 在所有这些中在哪里?
-
感谢 cmets 我已经更新了原帖
标签: javascript php jquery ajax node.js