0

我正在从一个asp 页面调用一个php 脚本。问题是这样调用的php脚本无法设置cookie。这是2个脚本:

设置cookie.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
%>

设置cookie.php

<?php
setcookie('mycookie', '12345', time() + (86400 * 30), "/");
echo 'ok';
?>

这两个页面在同一个网站下运行,在同一个文件夹中。我尝试使用“POST”和“GET”都没有成功。如果我直接运行 php,则会创建 cookie。

有什么建议吗?谢谢

4

1 回答 1

1

您正在使用服务器端代码来调用您的 php 脚本。这意味着 cookie 将在服务器上创建,而不是在用户的机器上。即使您在自己的机器上使用开发服务器,如果没有设置 cookie,您的浏览器也可能不知道在哪里查找 cookie。您需要使用客户端代码来调用您的 php 页面,您可以寻找 Javascript/Ajax 解决方案,或者您可以使用零大小的 iframe。

或者,您可以学习如何使用 Classic ASP 来设置 cookie。

在 ASP 中使用 Cookie

于 2018-09-27T16:31:22.347 回答