Php 跨源请求被阻止:带有标头身份验证的Ajax POST

Php 跨源请求被阻止:带有标头身份验证的Ajax POST,php,ajax,post,header,http-headers,Php,Ajax,Post,Header,Http Headers,我将向只允许POST请求的PHPAPI发送一个ajax请求 $.ajax({ url: '"//localhost/api/vs_1_0/availability"', data: $("#api-test").serialize(), type: "POST", dataType: "json", headers: { "PHP_AUTH_USER": "username",

我将向只允许POST请求的PHPAPI发送一个ajax请求

  $.ajax({
        url: '"//localhost/api/vs_1_0/availability"',
        data: $("#api-test").serialize(),
        type: "POST",
        dataType: "json",
        headers: {
            "PHP_AUTH_USER": "username",
            "PHP_AUTH_PW": "123"
        },
        success: function (data)
        {
            alert("Data from Server" + JSON.stringify(data));
        },
        error: function (jqXHR, textStatus, errorThrown)
        {
            alert("You can not send Cross Domain AJAX requests: " + errorThrown);
        }
    });

当我发送这个请求时,我可以看到firebug中的“Cross-Origin request Blocked:”错误,它不会执行ajax请求。我必须在$\u服务器['PHP\u AUTH\u PW']$\u服务器['PHP\u AUTH\u USER']变量的标题中发送用户名和密码。它通过执行CURL请求来工作。但是我可以通过Ajax请求向服务器发送请求吗。如何执行此类请求。

我认为这可以帮助您:由于我的API位于另一个域中,此解决方案对我没有帮助。”url:“//localhost/api/vs_1_0/availability”“”本地主机将替换为另一个。我正在从本地主机发送ajax。您需要将Access Control Allow Origin头添加到响应脚本//localhost/api/vs_1\u 0/availability它对我不起作用。这也是通过报头发送身份验证详细信息的正确方法。因为我正在从$\u服务器['PHP\u AUTH\u PW']和$\u服务器['PHP\u AUTH\u USER']变量捕获用户名和密码。标题:{'Authorization':“Basic”+btoa(“username:password”)}这一行是导致“跨源请求被阻止:同源策略不允许读取远程资源”的原因错误。我认为这可以帮助您:因为我的API在另一个域中,所以这个解决方案对我没有帮助。”url:“//localhost/api/vs_1_0/availability”“”本地主机将替换为另一个。我正在从本地主机发送ajax。您需要将Access Control Allow Origin头添加到响应脚本//localhost/api/vs_1\u 0/availability它对我不起作用。这也是通过报头发送身份验证详细信息的正确方法。因为我正在从$\u服务器['PHP\u AUTH\u PW']和$\u服务器['PHP\u AUTH\u USER']变量捕获用户名和密码。标题:{'Authorization':“Basic”+btoa(“username:password”)}这一行是导致“跨源请求被阻止:同源策略不允许读取远程资源”的原因错误。我认为这可以帮助您:因为我的API在另一个域中,所以这个解决方案对我没有帮助。”url:“//localhost/api/vs_1_0/availability”“”本地主机将替换为另一个。我正在从本地主机发送ajax。您需要将Access Control Allow Origin头添加到响应脚本//localhost/api/vs_1\u 0/availability它对我不起作用。这也是通过报头发送身份验证详细信息的正确方法。因为我正在从$_服务器['PHP_AUTH_PW']和$_服务器['PHP_AUTH_用户']变量捕获用户名和密码。标题:{'Authorization':“Basic”+btoa(“username:password”)}这一行是导致“跨源请求被阻止:同源策略不允许读取远程资源”错误的原因。