小编And*_*ell的帖子

上传图像时仅在iOS移动版Safari中出现假CORS失败

我在iOS 11.3.1和iOS模拟器上使用iPhone 6在移动Safari上遇到了一个奇怪的错误.

我有一个Ionic应用程序(PWA,而不是Cordova),使用Laravel(PHP)构建的后端API已经好几个月了.我已经配置了CORS,它工作正常.

我刚刚尝试实现一个新功能,我上传了一个图像,它只在移动Safari上中断.

我看到OPTIONS请求通过,看起来是正确的.事实上,请求/响应看起来完全相同,除了User-Agent桌面Safari工作.

在桌面Safari上,随后是POST成功的.

在移动Safari浏览器POST甚至不尝试走出去,相反,我得到一个消息Failed to load resource: Origin https://upload.geekity.com is not allowed by Access-Control-Allow-Origin.,尽管OPTIONS恢复要求https://upload.geekity.comAccess-Control-Allow-Origin.

这里有两个网页检查的截图OPTIONS,并POST在台式机和移动Safari浏览器.

桌面Safari选项 桌面Safari POST iOS Safari选项 iOS Safari POST

你可以在这里查看源代码:image-upload.

我真的不知道这里会发生什么,以这种方式失败.

safari mobile-safari ionic-framework ionic3 angular

8
推荐指数
1
解决办法
652
查看次数

检查功能签名

我正在研究服务定位器项目,我希望传递的函数需要一个参数.

这是一个片段:

"use strict";

/** Declaration types */
type ServiceDeclaration = Function|Object;

export default class Pimple {

    /**
     * @type {{}}
     * @private
     */
    _definitions: {[key: string]: ServiceDeclaration} = {};

    /**
     * Get a service instance
     * @param {string} name
     * @return {*}
     */
    get(name: string): any {
        if (this._definitions[name] instanceof Function) {
            return this._definitions[name](this);
        }
        return this._definitions[name];
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试编译它时,我收到以下错误:

error TS2349: Cannot invoke an expression whose type lacks a call signature. Type 'ServiceDeclaration' has no compatible call signatures. …
Run Code Online (Sandbox Code Playgroud)

typescript

4
推荐指数
2
解决办法
5186
查看次数

即使日志驱动程序设置为无,运行 docker compose up 也会输出日志

我正在使用 docker-compose 为我的应用程序运行测试。我的 docker-compose.yml 文件有三个服务,一个用于 mongodb,一个用于我的应用程序,第三个用于我的测试。我为应用程序和 mongodb 设置了日志记录:驱动程序:“无”,因为我只想查看测试日志。

这以前按预期工作。自从我上次参与这个项目以来,我已将 Mac 上的 docker 桌面升级到版本 3.5.2 (3.5.2.18)。现在,所有容器日志在运行时都会淹没我的终端。我不确定发生了什么变化。

version: '3.1'

services:

  mongodb:
    image: mongo
    expose:
      - 27017
    logging:
      driver: "none"

  rsscloud:
    build: .
    command: node --use_strict app.js
    environment:
      DOMAIN: rsscloud
      PORT: 5337
      MONGODB_URI: mongodb://mongodb:27017/rsscloud
      NODE_TLS_REJECT_UNAUTHORIZED: 0
    expose:
      - 5337
    depends_on:
      - mongodb
    logging:
      driver: "none"

  rsscloud-tests:
    build: .
    command: dockerize -wait tcp://mongodb:27017 -wait http://rsscloud:5337 -timeout 10s bash -c "npm test"
    environment:
      APP_URL: http://rsscloud:5337
      MONGODB_URI: mongodb://mongodb:27017/rsscloud
      MOCK_SERVER_DOMAIN: rsscloud-tests
      MOCK_SERVER_PORT: 8002
      SECURE_MOCK_SERVER_PORT: 8003
    volumes:
      - …
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

3
推荐指数
1
解决办法
80
查看次数