javascript - 使用 Ajax 将 CORS header 添加到 http 请求

标签 javascript jquery ajax rest http

我开发了一个 Restfull 应用程序,我想添加另一个 Web 应用程序来使用其服务,因此我进行以下 Ajax 调用:

 $.ajax({
            type: "Post",
            async: false,
            url: "ip_adress/Inviter/api/Account/Register",
            data: donne,
            headers: {  "Access-Control-Allow-Origin:": "*"},
            success: function (data) {
                console.log(data);
                var tab = [];
                tab["username"] = username;
                tab["password"] = pwd;
                var isLogged = Login.CheckCredential(tab, username);
                return isLogged;
            },
            error: function (xhr, status, error) {
                console.log(xhr);
                console.log(status);
                console.log(error);
            }

        });

我得到这个异常:

Object {readyState: 0, status: 0, statusText: "SyntaxError: Failed to execute 'setRequestHeader' …-Origin:' is not a valid HTTP header field name."} error DOMException: Failed to execute 'setRequestHeader' on 'XMLHttpRequest': 'Access-Control-Allow-Origin:' is not a valid HTTP header field name.

所以我需要知道:

  • 在这种情况下如何启用 CORS?

  • 如何修复我的代码?

最佳答案

你不能这样授权自己。这是一个响应 header ;详情见the specification 。您向其发送请求的服务器必须将该 header 发回,让浏览器知道可以允许您的页面向该服务器发送 ajax 请求。如果您尝试请求的服务器不允许您的来源,则您在客户端代码中无能为力。

关于javascript - 使用 Ajax 将 CORS header 添加到 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37527962/

相关文章:

javascript - 如何在 jQuery Mobile 1.4 Datepicker 中创建事件?

JavaScript 删除或取消

jquery - 表单样式,jqTransform 替代品?

jquery - 如何应用使用 jQuery 动态加载的内联和/或外部 CSS

javascript - 在服务器进程完成重启之前 gulp-livereload 重新加载

php - Facebook Javascript 与 PHP SDK

javascript - Jquery 自定义解析器不工作

javascript - jQuery addClass 到子元素

javascript - 当 Asnyc 设置为 true 时,XMLHttpRequest 不起作用

javascript - 得到一个未终止的字符串文字错误..我可以让它通过,但无法弄清楚为什么