到外部URL的Ajax post函数


Ajax post function to external URL

我有一个简单的post函数(见下面)

 $("#abi_test").click(function (event) {
    $.post(
        "get.php",
        {
            name: "Tom",
            age: "30",
            email: "johnsmith@gmail.com",
            uniID: "3"
        },
        function (data) {
            $('#stage').html(data);
        }
    );
});

如何将此更改为发布到https://www.site.co.uk/some/get.php ?

我试过了

 $("#abi_test").click(function (event) {
        $.post(
            "https://www.site.co.uk/some/get.php",
            {
                name: "Tom",
                age: "30",
                email: "johnsmith@gmail.com",
                uniID: "3"
            },
            function (data) {
                $('#stage').html(data);
            }
        );
    });

但不工作

我得到一个错误

XMLHttpRequest无法加载https://www.site.co.uk/some/get.php。没有"访问-控制-允许-起源"标头出现在请求上资源。因此,起源'http://website.org.uk'是不允许访问

你不能那样做。它被称为跨站点脚本,几乎所有服务器都不允许。解决这个问题的唯一方法是,如果您控制服务器,则可以使用允许来自外部url的请求的标头进行响应。

如果您控制服务器,那么只需将其添加到get.php文件中。您最好显式指定它来自的URL。否则,您的服务器很容易受到来自任何域的POST攻击。

php header('Access-Control-Allow-Origin: *');