gpt4 book ai didi

php - DART中的客户端与PHP中的服务器进行通信:访问控制允许缺少原始 header

转载 作者:行者123 更新时间:2023-12-03 03:28:21 27 4
gpt4 key购买 nike

这是我的客户:

  import 'dart:html';
void main() {
var request = new HttpRequest();
request.open('post','http://127.0.0.1/dartphp/index.php',async: true);
request.send("some data");
}

和我的服务器:
  <?php  header("Access-Control-Allow-Origin: http://127.0.0.1:3030");                
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
?>
<html><body>
<?php
echo "postback";
echo "<pre><br>post<br>";
echo $HTTP_RAW_POST_DATA;
echo "</pre><br>";
?>
</body></html>

我在3030年在Dartium中执行 Dart ,并让Apache在80上侦听。
我得到的错误是:
XMLHttpRequest无法加载 http://127.0.0.1/dartphp/index.php。请求的资源上不存在“Access-Control-Allow-Origin” header 。因此,不允许访问源' http://127.0.0.1:3030'。

我读了 Send data between php and dartCORS with Dart, how do I get it to work?文章
但与此同时语法已更改或解决方案不适用于我的问题,

第一个“on.readyStateChange.add”的
  • 不再存在
  • 不能为第二个“request.response.headers.add”添加
  • ,因为“response”没有定义的“headers”

  • 必须更改的内容,以便可以“request.onReadyStateChange.listen((_)”发送到响应

    最佳答案

    服务器需要添加Access-Control-Allow-Origin header 而不是客户端。

    您的页面最初是从http://127.0.0.1:3030加载的,然后要访问被视为不同域的http://127.0.0.1/dartphp/index.php

    客户端在发送实际请求后,向服务器发送请求,以检查其是否响应适合客户端来源的Access-Control-Allow-Origin header (与通配符对应的*)。

    尝试设置以下标题

    "Access-Control-Allow-Origin", "http://127.0.0.1:3030"
    "Access-Control-Allow-Methods", "POST, GET, OPTIONS"

    关于php - DART中的客户端与PHP中的服务器进行通信:访问控制允许缺少原始 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22424579/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com