此 URL 具有以下代码:https://trywifibooster.com/test/setCookiesFromAnotherDomain.html ?param=SHOULD-SET-TO-THISvar params = new window.URLSearchParams(window.location.search).get('param');$.ajax({ type: 'GET', crossDomain: true, url: 'https://go.allthatstrendy.com/intercart/cookies/Test/saveCookies2.php', data: "UTMParamsString=" + params, //success success:function(data) { console.log(data); }, //error error:function(xhr, options, error) { console.log("Cookies not successfully saved" + error); }});alert("Sent: " + params);哪个应该接受 URL 中传递的变量。然后将它作为 cookie 保存到这个域中go.allthatstrendy.com。这是通过 AJAX 执行的 PHP 脚本完成的。PHP脚本:<?php // Headers header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Credentials: true"); header("Access-Control-Allow-Methods: GET, POST"); header("Access-Control-Allow-Headers: Content-Type, *"); if(isset($_GET['UTMParamsString'])) { $UTMParamsString = $_GET['UTMParamsString']; setcookie("UTMParamsString", $UTMParamsString, time()+3600, "/", "allthatstrendy.com", 1); } echo "GET VARIABLE: " . $UTMParamsString; echo "<br/>"; echo "CHECK COOKIE WAS SET: " . $_COOKIE['UTMParamsString'];?>然而,当 trywifibooster.com 上的 Ajax 被执行时,导致 go.allthatstrendy.com,没有设置 cookie。运行上面的 URL 后。转到https://go.allthatstrendy.com/intercart/并检查 cookie。没有设置!我什至对其进行了设置,以便您可以直接在 go.allthatstrendy.com 上执行脚本并直接在那里设置 cookie。它是这样工作的。请参阅: https: //go.allthatstrendy.com/intercart/cookies/Test/saveCookies2.php ?UTMParamsString=TESTjhghgjghj但是,当我尝试在此处设置 cookie 时https://trywifibooster.com/test/setCookiesFromAnotherDomain.html?param=SHOULD-SET-TO-THIS它没有设置它。没有跨源错误或任何东西。我来回走了 3 个多小时,老实说,我快要尖叫了。这没有道理。我是一名经验丰富的开发人员。所以它更令人沮丧!
1 回答
HUH函数
TA贡献1836条经验 获得超4个赞
除非您明确启用凭据支持,否则 XHR 不会发送或接受 cookie:
$.ajax({
type: 'GET',
xhrFields: {
withCredentials: true
}
请注意,这将使您的请求预检。
- 1 回答
- 0 关注
- 152 浏览
添加回答
举报
0/150
提交
取消
