所以我知道那里有很多CORS帖子,我只是添加它们,但我找不到任何有帮助我的答案.所以我正在构建一个依赖于我的php api的角度4应用程序.在本地工作很好,我把应用程序放在域上的那一刻app.example.com,以及API api.example.com,我无法通过我的登录,因为我收到以下错误:
XMLHttpRequest无法加载http://api.example.com/Account/Login.对预检请求的响应未通过访问控制检查:请求的资源上不存在"Access-Control-Allow-Origin"标头.因此,不允许来源" http://app.example.com "访问.
我的PHP代码看起来像这样:
$http_origin = $_SERVER['HTTP_ORIGIN'];
$allowed_domains = array(
'http://example.com',
'https://example.com',
'http://app.example.com',
'https://app.example.com',
'http://www.example.com',
'https://www.example.com'
);
if (in_array(strtolower($http_origin), $allowed_domains))
{
// header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Origin: $http_origin");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400');
}
// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
header("Access-Control-Allow-Headers: Authorization, Content-Type,Accept, Origin");
exit(0);
}
Run Code Online (Sandbox Code Playgroud)
我的Angular帖子看起来像这样:
public login(login: Login): Observable<LoginResponse> {
let headers = new Headers();
headers.append('Content-Type', 'application/x-www-form-urlencoded');
headers.append('Authorization', 'Basic ' + btoa(login.Username …Run Code Online (Sandbox Code Playgroud) 在我的xamarin项目中,我有一个自定义按钮控制器:
[XamlCompilation(XamlCompilationOptions.Compile)]
public class AddToCartButton : Button
{
public static readonly BindableProperty SkuPoperty = BindableProperty.Create(nameof(Sku), typeof(ApiModels.SkuDetailModel), typeof(AddToCartButton));
public ApiModels.SkuDetailModel Sku
{
get { return (ApiModels.SkuDetailModel)GetValue(SkuPoperty); }
set { SetValue(SkuPoperty, value); }
}
public AddToCartButton()
{
this.Clicked += AddToCartButton_Clicked;
}
public AddToCartButton(ApiModels.SkuDetailModel sku)
{
this.Sku = sku;
this.Clicked += AddToCartButton_Clicked;
}
private async void AddToCartButton_Clicked(object sender, EventArgs e)
{
var response = await Helpers.ApiHelper.CurrentAccess.AddToCart(new List<ApiModels.CartItem>() {
new ApiModels.CartItem() {
ItemCode = Sku.ItemCode,
Quantity = 1
}
});
// handle add modal …Run Code Online (Sandbox Code Playgroud) 这是我尝试存档应用程序以进行部署时遇到的错误。
在任何其他时间都不会显示此错误。该项目可以在模拟器和设备上构建并运行,而不会出现问题。该错误的上下文或方向为零,指出了在哪里可以修复它。它也是随机出现的,上一次我构建/归档(功能更改为零)时没有发生此错误。
此存档与上一个存档之间的主要区别是VS 2017的较新版本。不记得以前的确切版本,但当前版本为15.9.4(稳定)。
环顾互联网,我发现此错误似乎与ObservableCollection有关,我的应用程序中可能有10个错误。我不太确定该怎么做,因为这以前从来都不是问题,而且我正赶在截止日期和应用程序的结构方面,无法开始进行功能更改。
编辑
我还清理并重建了解决方案,并删除了xamarin项目中的所有bin / obj文件夹。甚至尝试删除.vs文件夹,有时可能会有所帮助。但是仍然没有。
尝试将VS更新到15.9.5,看看它是否已在发行版中修复。
编辑2
将VS 2017更新到15.9.5没什么区别。
编辑3
我让我的同事尝试在他的机器上存档完全相同的项目(运行VS 2017:5.9.3,并且对他来说存档很好。到目前为止,这是我们能够在我们的环境之间找到的唯一区别。