Xmlhttprequest 访问控制允许源不允许Django

Xmlhttprequest 访问控制允许源不允许Django,xmlhttprequest,cors,Xmlhttprequest,Cors,我是新来的堆栈溢出,希望我不会犯任何错误,为我的第一篇文章 我得到一个错误: 起源。。。访问控制允许原点不允许 从我在其他类似帖子中看到的情况来看,这是一个跨领域的问题。 但有以下几点: 案例1:当启动我的本地html文件(包含对服务器a的ajax查询)时,我没有pb。 案例2:当打开这种html时,这一次由django本地服务器B提供服务,然后我有一个pb 有人能解释为什么案例2被认为是跨领域的吗? 服务器B在我的机器上,那么为什么案例2与案例1不一样呢 非常感谢 一些代码: 案例1:我通过h

我是新来的堆栈溢出,希望我不会犯任何错误,为我的第一篇文章

我得到一个错误: 起源。。。访问控制允许原点不允许

从我在其他类似帖子中看到的情况来看,这是一个跨领域的问题。 但有以下几点: 案例1:当启动我的本地html文件(包含对服务器a的ajax查询)时,我没有pb。 案例2:当打开这种html时,这一次由django本地服务器B提供服务,然后我有一个pb

有人能解释为什么案例2被认为是跨领域的吗? 服务器B在我的机器上,那么为什么案例2与案例1不一样呢

非常感谢

一些代码:

案例1:我通过html页面中的ajax到达家庭网络上的服务器a

如果我使用ajax查询构建html页面,如下所示:

check_user_status = function(userID){
        url = "http://blabla/api" + userID;
        var getting = $.get(url);
        getting.done(function( data ) {
            status = data.result.status;
            $( "#result" ).append( "association... " + status + "<br>");
            if (status!="pending"){
                clearInterval(timer);
                clearTimeout(endRequest);
                get_challenge();
            }
        });
      }
我注意到,在这种情况下,GET origin设置为:

> http://127.0.0.1:8000
从昨天开始,我尝试在django服务器B端使用一些中间件应用程序,但没有成功

希望澄清 再次感谢您的样品请求:

$.ajax({
        url: "http://localhost:8080",
        type: "POST",
        crossDomain: true,
        accept: "application/json",
        contentType: "application/json; charset=UTF-8",
        data: JSON.stringify(jsonObject),
        dataType: "json",
        success: function (response) {
            var resp = JSON.parse(response)
            alert(resp.status);
        },
        error: function (xhr, status) {
            alert(status);
        }
    });
样本响应:

import web
import json

class index:

    def OPTIONS(self):
        web.header('Content-Type', 'application/json')
        web.header('Access-Control-Allow-Origin', '*')
        web.header('Access-Control-Allow-Methods', 'POST, GET')
        web.header('Access-Control-Allow-Headers', 'origin, x-csrftoken, content-type, accept')
        return web.data()

    def POST(self):
        web.header('Content-Type', 'application/json')
        web.header('Access-Control-Allow-Origin', '*')


        return json.dumps('{"status" : "success"}')

    def GET(self):
        return json.dumps("{status : 'success'}")

发布您的代码片段
import web
import json

class index:

    def OPTIONS(self):
        web.header('Content-Type', 'application/json')
        web.header('Access-Control-Allow-Origin', '*')
        web.header('Access-Control-Allow-Methods', 'POST, GET')
        web.header('Access-Control-Allow-Headers', 'origin, x-csrftoken, content-type, accept')
        return web.data()

    def POST(self):
        web.header('Content-Type', 'application/json')
        web.header('Access-Control-Allow-Origin', '*')


        return json.dumps('{"status" : "success"}')

    def GET(self):
        return json.dumps("{status : 'success'}")