Http Dart不抛出';访问控制允许原点';标题错误,即使它存在

Http Dart不抛出';访问控制允许原点';标题错误,即使它存在,http,go,xmlhttprequest,http-headers,Http,Go,Xmlhttprequest,Http Headers,我有一个基本的go API服务器,它从数据库中提供一个“作业”,并在JSON响应中返回,并将访问控制Allow Origin:*添加到头中 func GetJob(w http.ResponseWriter, r *http.Request) { job := Job{} db, err = gorm.Open("postgres", connString) if err != nil { panic("Could not connect to the database") } de

我有一个基本的go API服务器,它从数据库中提供一个“作业”,并在JSON响应中返回,并将访问控制Allow Origin:*添加到头中

func GetJob(w http.ResponseWriter, r *http.Request) {

job := Job{}

db, err = gorm.Open("postgres", connString)
if err != nil {
    panic("Could not connect to the database")
}
defer db.Close()

vars := mux.Vars(r)
jobID, err := strconv.Atoi(vars["jobid"])
if err != nil {
    panic("can't convert string")
}

db.Debug().Where("id = ?", jobID).First(&job)

w.Header().Set("Access-Control-Allow-Origin", "*")

json.NewEncoder(w).Encode(&job)
}

这是为了阅读我的客户端应用程序,使用角省道编写:

class DataService {
final _headers = {'Content-Type': 'text/plain'};
var jobUrl = 'http://127.0.0.1:9000/job';

final Client _http;
DataService(this._http);


Future<Job> getJob(int id) async {

  try{
  final response = await _http.get('$jobUrl/$id/');
  return new Job.fromJson(_extractData(response));
 }
 catch (e) {
   throw _handleError(e);}
}
类数据服务{
最终_头={'Content-Type':'text/plain'};
var jobUrl=http://127.0.0.1:9000/job';
最终客户端http;
数据服务(this.\u http);
未来getJob(int-id)异步{
试一试{
final response=wait_http.get(“$jobUrl/$id/”);
返回新的Job.fromJson(_extractData(response));
}
捕获(e){
投掷_handleError(e);}
}
在postman上,我也可以访问它,而访问控制Allow Origin头也没有问题。但是,当我从应用程序调用getJob(1)函数时,chrome会抛出一个错误:

无法加载XMLHttpRequest。请求的资源上不存在“Access Control Allow Origin”标头。因此不允许访问源“”


关于我在这里遗漏的内容有什么想法吗?很可能是所有内容。

w.Header().Set(“访问控制允许源代码”,r.Header.Get(“源代码”))
。这里根本不涉及Dart。CORS只是服务器和浏览器之间的问题。