Ajax将函数发布到外部URL

时间:2016-10-18 15:27:18

标签: php jquery ajax

我有一个简单的帖子功能(见下文)

 $("#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'因此   不允许访问。

1 个答案:

答案 0 :(得分:0)

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

如果您确实控制了服务器,那么只需将其添加到get.php文件即可。您最好明确指定它来自的URL。否则,您的服务器很容易受到来自任何域的POST。

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