无法从ASP Msxml2.ServerXMLHTTP.6.0对象调用的PHP设置cookie

时间:2018-09-27 11:04:12

标签: php cookies vbscript asp-classic serverxmlhttp

我正在从asp页面调用php脚本。问题在于以这种方式调用的php脚本无法设置cookie。这是两个脚本:

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。

有什么建议吗?谢谢

1 个答案:

答案 0 :(得分:1)

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

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

Using Cookies in ASP