lzhec Asked:2020-01-27 00:29:24 +0000 UTC2020-01-27 00:29:24 +0000 UTC 2020-01-27 00:29:24 +0000 UTC 将 POST 从应用程序发送到服务器 772 美好的一天。 django上有一个应用,连接了js和php编写的第三方插件。其本质是用户填写表单,点击“发送”,我收到一封包含用户申诉的邮件。问题是python服务器不处理php,所以我连接了apache并将其指向一个目录,其中包含实现该功能的php脚本。所以,我不能以任何方式向服务器发送跨域请求。如果我使用 jsonp,那么浏览器会发誓 MIME 类型 text/html: 如果我使用标头,我会收到错误响应预检请求: 我不擅长CORS,但据我了解,错误发生在飞行前请求上,即应用程序和服务器在发送数据之前交换标头。如何编写 CORS 以使验证成功? ajax 2 个回答 Voted Игорь 2020-01-27T04:51:25Z2020-01-27T04:51:25Z 也许您可以帮助安装 django "django-cors-headers" 的软件包 将 CORS(跨源资源共享)标头添加到响应的 Django 应用程序。 尽管 JSON-P 很有用,但它仅限于 GET 请求。CORS 建立在 XmlHttpRequest 之上,允许开发人员进行跨域请求,类似于同域请求。 https://github.com/ottoyiu/django-cors-headers Best Answer lzhec 2020-01-31T20:49:34Z2020-01-31T20:49:34Z 事实证明,在 php 代码中写 header 是不够的,你还需要在应用程序的根目录中创建一个 .htaccess 服务器,并在那里写 Access-Control-Allow-Origin: "*"。之后,请求通过了。并且已经在 php 脚本中注册了一个受信任的域,因此请求只会来自我的站点。
也许您可以帮助安装 django "django-cors-headers" 的软件包
https://github.com/ottoyiu/django-cors-headers
事实证明,在 php 代码中写 header 是不够的,你还需要在应用程序的根目录中创建一个 .htaccess 服务器,并在那里写 Access-Control-Allow-Origin: "*"。之后,请求通过了。并且已经在 php 脚本中注册了一个受信任的域,因此请求只会来自我的站点。