Javascript 从client node.js文件中的php文件获取Ajax请求
因此,我尝试获取一个AJAX请求,以向node.js客户端页面返回一个值。 它正在与不同的端口通信,因此我假设这是导致问题的原因 我有以下几点 client.html文件Javascript 从client node.js文件中的php文件获取Ajax请求,javascript,php,jquery,ajax,node.js,Javascript,Php,Jquery,Ajax,Node.js,因此,我尝试获取一个AJAX请求,以向node.js客户端页面返回一个值。 它正在与不同的端口通信,因此我假设这是导致问题的原因 我有以下几点 client.html文件 socket.on('connect', function(){ var user; var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhtt
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'];
}
?>
这是我手动访问链接并看到echo的用户名时的日志
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"
如果要从数据库中回显用户名,我不会使用上面列出的node.js文件 相反,我会做一些不同的事情: 1) 创建一个常规index.html文件,其中包含对“getUserSession.php”的AJAX调用 2) 创建一个“Config.php”文件,该文件将使用所需的值链接到数据库 3) 回显正在访问数据库的当前会话用户 AJAX调用:
$.ajax(
{
type: "GET",
url: 'getUserSession.php',
datatype: 'json',
success: function (result) {
$("#container").html(result); // '#Container' is a DIV that you will put in your index.html file...This is where the user name will be printed on your webpage.
}
});
Config.php:
<?php
ini_set("display_errors", true);
date_default_timezone_set("America/New_York"); http://www.php.net/manual/en/timezones.php
define( "DB_DSN", "YOUR DATABASE HOST AND DATABASE NAME INFORMATION");
define( "DB_USERNAME", "YOUR USER NAME");
define( "DB_PASSWORD", "YOUR USER PASSWORD");
define("ADMIN_USERNAME", "YOUR ADMIN USER NAME");
define("ADMIN_PASSWORD", "YOUR ADMIN PASSWORD");
function handleException ( $exception) {
echo "Sorry, a problem occurred. Please try later.";
error_log( $exception->getMessage() );
}
set_exception_handler('handleException');
?>
getUserSession.php:
<?php
require("config.php");
session_start();
header('Access-Control-Allow-Origin: *');
echo DB_USERNAME;
?>
AJAX请求是否到达服务器?你能在日志文件中找到它吗?我不明白:Node.js在所有这些中的什么位置?谢谢你的评论我已经更新了原始帖子谢谢你的回复但仍然没有乐趣,我想这可能是不同端口之间的跨浏览器请求问题有什么想法吗?
<?php
require("config.php");
session_start();
header('Access-Control-Allow-Origin: *');
echo DB_USERNAME;
?>