无法从 ASP Msxml2.ServerXMLHTTP.6.0 对象调用的 PHP 设置 cookie
Unable to set cookie from PHP called by ASP Msxml2.ServerXMLHTTP.6.0 object
我正在从 asp 页面调用 php 脚本。问题是这样调用的php脚本无法设置cookie。这是 2 个脚本:
setcookie.asp
<%
Dim objXMLHTTP
Set objXMLHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
objXMLHTTP.Open "POST", "http://127.0.0.1/setcookie.php", False
objXMLHTTP.Send
if len(objXMLHTTP.responseText)>0 then response.write "Result: "&objXMLHTTP.responseText
Set objXMLHTTP = Nothing
%>
setcookie.php
<?php
setcookie('mycookie', '12345', time() + (86400 * 30), "/");
echo 'ok';
?>
两个页面运行在同一个网站下,在同一个文件夹中。我尝试了 "POST" 和 "GET" 都没有成功。如果我直接 运行 php,则会创建 cookie。
有什么建议吗?谢谢
您正在使用服务器端代码调用您的 php 脚本。这意味着 cookie 将在服务器上创建,而不是在用户的机器上创建。即使您在自己的机器上使用开发服务器,如果您的浏览器没有设置它,您的浏览器也可能不知道去哪里寻找 cookie。您需要使用客户端代码来调用您的 php 页面,您可以寻找 Javascript/Ajax 解决方案或者您可以使用零大小的 iframe。
或者您可以学习如何使用经典 ASP 设置 cookie。
我正在从 asp 页面调用 php 脚本。问题是这样调用的php脚本无法设置cookie。这是 2 个脚本:
setcookie.asp
<%
Dim objXMLHTTP
Set objXMLHTTP = Server.CreateObject("Msxml2.ServerXMLHTTP.6.0")
objXMLHTTP.Open "POST", "http://127.0.0.1/setcookie.php", False
objXMLHTTP.Send
if len(objXMLHTTP.responseText)>0 then response.write "Result: "&objXMLHTTP.responseText
Set objXMLHTTP = Nothing
%>
setcookie.php
<?php
setcookie('mycookie', '12345', time() + (86400 * 30), "/");
echo 'ok';
?>
两个页面运行在同一个网站下,在同一个文件夹中。我尝试了 "POST" 和 "GET" 都没有成功。如果我直接 运行 php,则会创建 cookie。
有什么建议吗?谢谢
您正在使用服务器端代码调用您的 php 脚本。这意味着 cookie 将在服务器上创建,而不是在用户的机器上创建。即使您在自己的机器上使用开发服务器,如果您的浏览器没有设置它,您的浏览器也可能不知道去哪里寻找 cookie。您需要使用客户端代码来调用您的 php 页面,您可以寻找 Javascript/Ajax 解决方案或者您可以使用零大小的 iframe。
或者您可以学习如何使用经典 ASP 设置 cookie。