首页 > 解决方案 > 发布数据时出现跨源错误 - ajax

问题描述

我正在测试我的api如下:

<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    </head>
    <body>


        <div onclick="sendData()">Send</div>

        <script>
            function sendData(){

                var sendInfo = {
                    "name" : "test"
                };

                $.ajax({
                    //headers: { 'Access-Control-Allow-Origin': '*' },
                    beforeSend: function(xhr) {
                        xhr.setRequestHeader("Access-Control-Allow-Origin", "*");
                        xhr.setRequestHeader("Content-Type","application/json");
                        xhr.setRequestHeader("Accept","application/json");
                },
                url: "http://localhost:8080/someapi",
                data:  sendInfo,
                type: "POST",
                dataType: "json",
                success: function(data){
                    //do something after something is recieved from php
                },
                error: function(){
                    //bad request
                }
            });
        }

        </script>
    </body>
</html>

我收到以下错误:

无法加载http://localhost:8080/someapi:对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,Origin 'null' 不允许访问。响应具有 HTTP 状态代码 403。

如何解决这个问题?

标签: jqueryajax

解决方案


推荐阅读