跨子域 ajax 表单随会话提交
Cross sub-domain ajax form submit with session
我正在这里做一些事情。
爪哇语
$('#create').submit(function() {
$.ajax({
data: $(this).serialize(),
type: $(this).attr('method'),
url: $(this).attr('action'),
success: function(response) {
console.log(response);
}
});
return false;
});
Php 文件 (url):
session_start();
header('Access-Control-Allow-Origin: *');
session_set_cookie_params( time() + 3600, '/', '.domain.com');
print_r($_SESSION);
die;
在表单为我的会话[成员ID] = [一些int]的页面上;
但是如果我调用 ajax,则整个 sesison 变量为空
我尝试在谷歌上寻找一些答案,我尝试在堆栈溢出上寻找一些答案
但没有什么真正有帮助。而且我不喜欢使用iframe。也许这就是解决方案,但也许有人知道我需要在这里做什么。
表单位于域 m.domain.comPHP 文件位于 domain.com
此外,您还必须将header('Access-Control-Allow-Headers: X-Requested-With');
添加到服务器端才能正确处理调用。
在此处阅读有关 CORS 和服务器端处理的更多信息
所以,我修复了它。我将文件从根目录复制到我的移动根目录,然后通过真正的根目录包含。它现在有效。我尝试了其他评论,但这些评论也不起作用。
感谢大家的快速回复!
我认为你需要告诉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;
});
相关文章:
- Javascript生成的表单未提交
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- HTML表单提交时未执行外部函数
- 在POST中将html表作为csv提交
- 我应该使用Ng提交还是点击表格
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 提交后保留下拉选择的值
- 键入最后一位数字后自动提交
- 阻止表单元素提交
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- Jquery提交表单而不刷新
- 将图像上传ajax与表单提交ajax相结合
- 如何将网络数据网格的更改提交到会话
- php会话不会;单击“提交”按钮时无法处理表单
- 跨子域 ajax 表单随会话提交
- 提交表单并将值保存到会话存储
- 提交表单后如何重定向,但我已经调用了会话的标头
- iOS 会话存储和表单提交
- 在表单提交时存储会话
- 使用会话变量触发提交按钮