javascript - CORS收发post异步请求在nodejs下失败问题
天蓬老师
天蓬老师 2017-04-11 12:37:21
[JavaScript讨论组]

想用cors收发异步请求,我是这样做的:

先造一下假数据尝试一下:

  var mydata = {
        id:timestamp,
        pass:"14444",
        title:"24444",
        tag:"34444",
        content:"544444"
    };
    var XHR = new XMLHttpRequest();
    XHR.open("POST", "http://localhost:8090/savemycollec");
    XHR.setRequestHeader('Content-Type', 'application/json');
    XHR.onreadystatechange = handler;
    XHR.send(JSON.stringify(mydata));

服务端:

        res.header('Access-Control-Allow-Origin', '*');
        res.header('Access-Control-Allow-Headers', 'Content-Type, Content-Length, Authorization, Accept');
        res.header('Access-Control-Allow-Methods', 'POST,GET,DELETE,PUT');
        console.log(req.body);
        console.log(req.query);
        res.end();

检测值,

结果发现:

仍然是报错:

XMLHttpRequest cannot load http://localhost:8090/savemycollec. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:63342' is therefore not allowed access.

貌似是不能直接接受json格式的请求?

如果把请求中setRequestHeader去掉的话就不报错了但是传空值(收不到数据)

请相关经验人士指点一二,

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

全部回复(1)
阿神

res.set('Access-Control-Allow-Headers', 'Content-Type');
res.set('Access-Control-Allow-Methods', 'GET, POST, DELETE, PUT');

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号