- xml - AJAX/Jquery XML 解析
- 具有多重继承的 XML 模式
- .net - 枚举序列化 Json 与 XML
- XML 简单类型、简单内容、复杂类型、复杂内容
我有一个运行在 http://localhost:3000 上的 ecmascript 7 浏览器应用程序在 Firefox 44.0.2 浏览器中。它正在发布到运行在 https://localdev.net:8443 上的 Beego 1.6.0 服务器. 'localdev.net' 在同一个盒子上并解析为本地主机地址。浏览器代码是:
var serverURL = 'https://localdev.net:8443/v1/user/login'
fetch(serverURL, {
method: 'post',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
mode: 'cors',
cache: 'default',
body: JSON.stringify({username: this.state.username, password: this.state.password})
})
.then(function(response){
if (response.status >= 200 && response.status < 300) {
return Promise.resolve(response)
}
return Promise.reject(new Error(response.statusText))
})
.then(function(data){
console.log('data: ' + data)
})
.catch((err) => console.error(serverURL, err.toString()))
beego 服务器配置为处理 CORS 请求如下:
beego.InsertFilter("*", beego.BeforeRouter, cors.Allow(&cors.Options{
AllowOrigins: []string{"*"},
AllowMethods: []string{"*"},
AllowHeaders: []string{"Origin"},
ExposeHeaders: []string{"Content-Length"},
AllowCredentials: true,
}))
Wireshark 看到客户端向服务器发送飞行前 CORS 选项请求:
OPTIONS /v1/user/login HTTP/1.1\r\n
Host: localdev.imaginout.net:8443\r\n
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:44.0) Gecko/20100101 Firefox/44.0\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\n
Accept-Language: en-US,en;q=0.5\r\n
Accept-Encoding: gzip, deflate, br\r\n
Access-Control-Request-Method: POST\r\n
Access-Control-Request-Headers: content-type\r\n
Origin: http://localhost:3000\r\n
Connection: keep-alive\r\n
作为响应,beego 服务器输出:
2016/03/05 12:54:29 [router.go:828][D] | OPTIONS | /v1/user/login | 102.08µs | not match |
即使服务器说“不匹配”,wireshark 也会记录响应:
HTTP/1.1 200 OK\r\n
Access-Control-Allow-Credentials: true\r\n
Access-Control-Allow-Origin: http://localhost:3000\r\n
Access-Control-Expose-Headers: Content-Length\r\n
Server: beegoServer:1.6.0\r\n
Date: Sat, 05 Mar 2016 17:54:29 GMT\r\n
Content-Length: 0\r\n
Content-Type: text/plain; charset=utf-8\r\n
对我来说,将 Access-Control-Allow-Origin 设置为浏览器应用程序域的 200 状态表示 CORS 预检成功,但 Firefox 开发人员控制台显示:
"https://localdev.net:8443/v1/user/login" TypeError: NetworkError when attempting to fetch resource.
所以应用程序和/或 Firefox 似乎认为请求失败了。 Wireshark 显示应用程序不会向服务器发送另一个请求。我在等一个帖子。
关于 CORS 有很多问题,但浏览器/API/服务器变化很大,所以我没有找到完全匹配的问题。深入研究,但我们将不胜感激。
最佳答案
已修复。需要在Beego CORS选项中设置Access-Control-Allow-Headers为[]string{"Origin", "Content-Type"}。然后 Access-Control-Allow-Headers 设置正确,飞行前成功。在此之后主帖子成功。
关于javascript - 飞行前停止从 Firefox 到 Beego 服务器的 CORS 提取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35817926/
如这里建议的那样http://beego.me/docs/mvc/controller/config.md ,我为 MySQL 用户/密码添加参数,并在尝试访问它们时(例如通过使用 beego.App
如何使用beego上传多个文件? GetFile 方法仅返回第一个文件名。 html: 在 Controller 中: file, header, err := this.GetFile
1 介绍 Beego是一个开源的基于Golang的MVC框架,主要用于Golang Web开发。Beego可以用来快速开发API、Web、后端服务等各种应用。 个人开发 api类:gin 团队大项目:
1 介绍 Beego是一个开源的基于Golang的MVC框架,主要用于Golang Web开发。Beego可以用来快速开发API、Web、后端服务等各种应用。 个人开发 api类:gin 团队大项目:
如果我使用模块,而 GOPATH 旧方法完美运行,路由对我来说根本不起作用。 我是golang的新手,如果我做错了什么,请纠正我。 我一直在尝试使用 bee 创建 API 项目,但我发现所有新项目都必
我正在使用Beego编写一个简单的登录/注销功能。 我在init()文件中的router.go如下所示: func init() { beego.Router("/", &controller
我正在尝试使用 Beego 验证来验证某些表单,但它根本不起作用:无效数据通过且没有错误。 这是相关代码,我不知道哪里出了问题。你能指出错误吗? https://github.com/dionysel
我正在用 beego 制作一个网络应用程序。我是 go 和 beego 的新手。我想在 mysql 数据库中保存一个 pdf 文件。在 php 中,我们可以轻松做到这一点,但在 beego 中,我遇到
有没有办法在Beego orm中使用不等于运算符(!= OR <>)?我不想使用 WHERE IN条件,因为这意味着我必须先查询另一个表。有办法做到这一点吗? 谢谢 最佳答案 此答案适用于可能会误解
运行beego migration时,显示所有的迁移都执行了,但是跳过了一些迁移。请找到场景。 我今天创建并执行了迁移。 我正在合并另一个分支,该分支昨天创建了一个迁移。 再次运行bee migrat
我正在尝试编写我的第一个 beego 网络应用程序,我正在尝试注册一些模型,我在 models/model.go 中注册了它们的 init()函数,但是当我运行命令时 bee run ,我收到以下错误
Beego有渲染部分模板的功能吗?我在 RoR 中使用了这个功能。 Ruby on Rails 部分:局部模板——通常简称为“partials”——是另一种将渲染过程分解为更易于管理的 block 的
我对 beego 很陌生。我开始一个小项目来发现并开始学习框架。我使用 bee 命令来创建项目: bee new my_project beego的版本是: bee :1.4.1 beego :1
我正在使用 Beego 框架,我有两个 html View 文件,一个是登录,另一个是登陆登录.html
目前,我在访问数据库的每个函数的开头使用以下命令。 o := orm.NewOrm() o.Using("default") // Using default, you can use other d
我正在测试 beego 的 http 自定义端点 package test import ( "github.com/astaxie/beego" . "github.com/smar
除了从头创建数据库表的“syncdb”命令外,我没有在文档中找到任何东西。是否有任何命令可以基于 ORM 模型创建和运行迁移?就像在 Django 中一样?添加字段、更改类型等。 最佳答案 不,orm
尝试设置 https,如下所述:https://github.com/astaxie/beego/issues/401并在日志中得到这个: 2016/09/28 14:05:34 [I] [asm_a
截至目前,我的路由如下: beego.Router("/detailed", &controllers.MainController{}, "get:Detailed") 相反,我想像这样路由: be
我刚刚在 beego orm 中遇到了一些问题。如何进行随机顺序查询? 类似于: orm.NewOrm().QueryTable("tbl").OrderBy("rand()").Limit(1).A
我是一名优秀的程序员,十分优秀!