【问题标题】:Cross domain ajax call Issue跨域ajax调用问题
【发布时间】:2023-10-10 03:19:01
【问题描述】:

我正在编写在https:// 页面上运行的代码。我想从我的页面与http:// 页面通信。

我正在使用以下代码:

var USERNAME = "*****";
var PASSWORD = "****"

$.ajax({
    type: "POST",
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
     headers: {
      "Authorization": encodeURI("BASIC " + btoa(USERNAME + ":" + PASSWORD))
    },
    url: "http://111.93.214.93/data",
    data: JSON.stringify(data)
})
.done(function(response) {
    alert("Shuffled image successfully")
})
.fail(function(jqXHR, textStatus, errorThrown) {
    console.log(jqXHR, textStatus, errorThrown);
    alert("Server Error");
})
.always(function(jqXHROrData, textStatus, jqXHROrErrorThrown) {});

这是正确的调用方法吗?

我收到“404 Not Found”错误。

我也试过这个。但它没有帮助

type: "POST",
                    contentType: 'application/json; charset=utf-8',
                    async:false,
                    crossDomain: true,
                    callback: '?',
                    dataType: 'jsonp',
                    headers: {
                      "Authorization": "Basic " + btoa(unescape(encodeURIComponent(USERNAME + ":" + PASSWORD)))
                    },

【问题讨论】:

    标签: ajax authentication cross-domain restful-authentication


    【解决方案1】:

    根据 W3,由于“证书错误”http://www.w3.org/TR/access-control/#user-agent-security

    ,因此无法通过 COR 策略

    但是你可以试试这个
    从服务器添加 Access-Control-Allow-Origin 标头

    访问控制允许来源:https://www.example.com
    http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing

    【讨论】: