2

我正在这里做一些事情。

Javascript

  $('#create').submit(function() {
$.ajax({ 
    data: $(this).serialize(),
    type: $(this).attr('method'), 
    url: $(this).attr('action'), 
    success: function(response) {
        console.log(response);
    }
});
return false;
});

php文件(网址):

session_start();
header('Access-Control-Allow-Origin: *');
session_set_cookie_params( time() + 3600, '/', '.domain.com');
print_r($_SESSION);
die;

在我的会话 [memberid] = [some int] 表单的页面上;

但是如果我让ajax调用整个sesison变量是空的

我试着在谷歌上寻找一些答案,我试着在堆栈溢出上寻找一些答案

但没有任何帮助。而且我不喜欢使用 iframe。也许这就是解决方案,但也许有人知道我需要在这里做什么。

表单位于域 m.domain.com,php 文件位于 domain.com

4

3 回答 3

2

所以,我修好了。我将文件从根目录复制到我的移动根目录,然后通过真正的根目录包含。现在可以了。我尝试了其他评论,但那些也不起作用。

感谢大家的快速回复!

于 2013-10-03T08:51:43.793 回答
2

此外,您必须添加header('Access-Control-Allow-Headers: X-Requested-With');到服务器端才能正确处理呼叫。

在此处阅读有关 CORS 和服务器端处理的更多信息

于 2013-10-03T08:44:38.427 回答
0

我认为您需要告诉 jQuery 在 XHR2 中使用 CORS 客户端支持:

$('#create').submit(function() {
    $.ajax({ 
        data: $(this).serialize(),
        type: $(this).attr('method'), 
        url: $(this).attr('action'), 
        xhrFields: { withCredentials: true },
        crossDomain: true,
        success: function(response) {
            console.log(response);
        }
    });
    return false;
});
于 2013-10-03T08:41:13.930 回答