小编sid*_*ker的帖子

Safari未确认"必需"属性.怎么解决?

<form id="customerForm">
    <label>
        First Name:
        <input id="firstName" required />
    </label>
    <label>
        Social Security Number:
        <input id="ssn" required pattern="^d{3}-d{2}-d{4}$"
            title="Expected pattern is ###-##-####" />
    </label>
    <input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)

当我在Chrome中尝试该文档时,它会接受条件并按预期显示错误.

但是当我在Safari中尝试该文档时,它没有显示任何错误.

safari html5 google-chrome required

15
推荐指数
2
解决办法
2万
查看次数

如何在 Spring Boot 中启用 CORS - 不工作

我正在尝试在我的 Spring Boot 应用程序中启用 CORS,但它根本不起作用。


我试过了

我不知道此时如何解决这个问题,也不知道 CORS 不起作用的问题是什么。


我的代码

控制器

@RestController
public class DbController {

    @Autowired
    private IDAO conn;

    @CrossOrigin
    @GetMapping("/foo")
    public List<Foo> getFoo() {
        return conn.getFooFromDao();
    }
}
Run Code Online (Sandbox Code Playgroud)

道

    @Repository
    public class DaoImpl implements IDAO {

    @Autowired
    private JdbcTemplate temp;

    public List<Foo> getFooFromDao() {

        List<Foo> data = new ArrayList<>();

        String sql = "SELECT fooName FROM BigFoo ORDER BY fooName ASC;";

        data.addAll(temp.query(sql, new BeanPropertyRowMapper(BigFoo.class)));
        return data;
    }
} …
Run Code Online (Sandbox Code Playgroud)

java spring cors spring-boot

15
推荐指数
2
解决办法
3万
查看次数

document.evaluate - 跨浏览器?

我一直在寻找除Sizzle之外的CSS选择器功能,我遇到过这个功能.

function SparkEn(xpath,root) {
  xpath = xpath
    .replace(/((^|\|)\s*)([^/|\s]+)/g,'$2.//$3')
    .replace(/\.([\w-]+)(?!([^\]]*]))/g, '[@class="$1" or @class$=" $1" or @class^="$1 " or @class~=" $1 "]')
    .replace(/#([\w-]+)/g, '[@id="$1"]')
    .replace(/\/\[/g,'/*[');
  str = '(@\\w+|"[^"]*"|\'[^\']*\')';
  xpath = xpath
    .replace(new RegExp(str+'\\s*~=\\s*'+str,'g'), 'contains($1,$2)')
    .replace(new RegExp(str+'\\s*\\^=\\s*'+str,'g'), 'starts-with($1,$2)')
    .replace(new RegExp(str+'\\s*\\$=\\s*'+str,'g'), 'substring($1,string-length($1)-string-length($2)+1)=$2');
  var got = document.evaluate(xpath, root||document, null, 5, null);
  var result=[];
  while (next = got.iterateNext())
    result.push(next);
  return result;
}
Run Code Online (Sandbox Code Playgroud)

我觉得它真好太好了,这只是一个firefox功能(xpath?)还是慢?基本上为什么我会使用Sizzle呢?

javascript internet-explorer dom cross-browser document.evaluate

14
推荐指数
1
解决办法
7454
查看次数

查找作者修改的所有当前行

我如何在git中确定仍然存在的来自特定作者的所有行.比方说,Tony已经参与了我的项目,我想找到我的开发分支中仍然存在的所有行,并且来自Tony撰写的提交?

git version-control blame git-blame

14
推荐指数
2
解决办法
5001
查看次数

如何在HTML5 Web应用程序中执行推送通知?

我有一个Web应用程序.我想使用HTML 5内置通知API在用户位于特定页面时从服务器执行推送通知.可能吗?

html javascript push-notification web-push push-api

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

在终端中移动usr/bin/java

更新到OS X 10.11后,我的java停止工作.我读过多个我应该做的地方:

sudo mv /usr/bin/java /usr/bin/java.old
sudo ln -ns /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java /usr/bin/java
Run Code Online (Sandbox Code Playgroud)

但问题是当我运行第一行代码时,我得到:

mv: rename /usr/bin/java to /usr/bin/java.old: Operation not permitted
Run Code Online (Sandbox Code Playgroud)

我有什么想法可以解决这个问题?

java macos terminal rename zimbra

14
推荐指数
1
解决办法
5282
查看次数

使用redux-form和Fetch API进行服务器验证

如何使用redux-form和Fetch API 进行服务器端验证?文档中提供了" 提交验证 "演示,其中说服务器端验证的推荐方法是从onSubmit函数返回一个promise.但是我应该把这个承诺放在哪里?据我所知,onSubmit函数应该是我的动作.

<form onSubmit={this.props.addWidget}>...
Run Code Online (Sandbox Code Playgroud)

this.props.addWidget实际上是我的行动,如下所示.

import fetch from 'isomorphic-fetch';
...
function fetchAddWidget(widget, workspace) {
    return dispatch => {
        dispatch(requestAddWidget(widget, workspace));
        return fetch.post(`/service/workspace/${workspace}/widget`, widget)
            .then(parseJSON)
            .then(json => {
                dispatch(successAddWidget(json, workspace));
                DataManager.handleSubscribes(json);
            })
            .catch(error => popupErrorMessages(error));
    }
}

export function addWidget(data, workspace) {
    return (dispatch, getState) => {
        return dispatch(fetchAddWidget(data, workspace));
    }
}
Run Code Online (Sandbox Code Playgroud)

如您所见,我使用fetch API.我期望fetch将返回promise并且redux-form将捕获它但是这不起作用.如何使它与示例中的承诺一起工作?

同样从演示中我无法理解this.props.handleSubmit函数应该提供什么.对我来说,演示不解释这一部分.

validation es6-promise redux fetch-api redux-form

14
推荐指数
1
解决办法
7713
查看次数

Spring Boot安全性CORS

我对弹簧安全URL的CORS过滤器有问题.它没有设置Access-Control-Allow-Origin和属于spring sec(登录/注销)或由Spring Security过滤的URL上的其他公开标头.

这是配置.

CORS:

@Configuration
@EnableWebMvc
public class MyWebMvcConfig extends WebMvcConfigurerAdapter {
********some irrelevant configs************
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/*").allowedOrigins("*").allowedMethods("GET", "POST", "OPTIONS", "PUT")
                .allowedHeaders("Content-Type", "X-Requested-With", "accept", "Origin", "Access-Control-Request-Method",
                        "Access-Control-Request-Headers")
                .exposedHeaders("Access-Control-Allow-Origin", "Access-Control-Allow-Credentials")
                .allowCredentials(true).maxAge(3600);
    }
}
Run Code Online (Sandbox Code Playgroud)

安全:

@Configuration
@EnableWebSecurity
public class OAuth2SecurityConfiguration extends WebSecurityConfigurerAdapter {
    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
                .exceptionHandling().authenticationEntryPoint(authenticationEntryPoint).and()
                .formLogin()
                    .successHandler(ajaxSuccessHandler)
                    .failureHandler(ajaxFailureHandler)
                    .loginProcessingUrl("/authentication")
                    .passwordParameter("password")
                    .usernameParameter("username")
                .and()
                .logout()
                    .deleteCookies("JSESSIONID")
                    .invalidateHttpSession(true)
                    .logoutUrl("/logout")
                    .logoutSuccessUrl("/")
                .and()
                .csrf().disable()
                .anonymous().disable()
                .authorizeRequests()
                .antMatchers("/authentication").permitAll()
                .antMatchers("/oauth/token").permitAll()
                .antMatchers("/admin/*").access("hasRole('ROLE_ADMIN')")
                .antMatchers("/user/*").access("hasRole('ROLE_USER')");
    }
} …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc spring-security cors spring-boot

14
推荐指数
3
解决办法
6万
查看次数

禁用 Web 安全性的专用网络访问问题:请求没有目标 IP 地址空间,但资源位于本地地址空间中

我们在公共站点上有一个测试环境。我们在 chrome 上使用 --disable-web-security 标志,让测试人员在手动测试阶段绕过公共服务调用的 CORS 错误。而且我们在代理机器上也有本地主机请求。然而今天,随着 Chrome 98 的更新,我们开始努力应对针对 localhost 的网络请求。

\n

我们收到的错误是来自公共站点的本地主机请求:
\nAccess to XMLHttpRequest at \'https://localhost:3030/static/first.qjson\' from origin \'https://....com\' has been blocked by CORS policy: Request had no target IP address space, yet the resource is in address space `local`.

\n

本地主机上的站点配置为返回 Access-Control-Allow-* CORS 标头,包括“Access-Control-Allow-Private-Network: true”。

\n

而且我也没有看到任何预检请求。只有一个 GET 请求出现 CORS 错误。

\n

我们怀疑这可能是您通过 --disable-web-security 禁用 Web 安全性时引起的副作用。它可能会阻止获取目标 IP 地址空间。我们的假设基于 CORS 预检部分https://wicg.github.io/private-network-access/上的 CORS 预检部分

\n
\n

3.1.2. CORS 预检
\n应调整 HTTP 获取算法,以确保为从安全上下文发起的所有专用网络请求触发预检。

\n这里的主要问题还是在 HTTP 网络获取中获得连接之前,响应\xe2\x80\x99s …

javascript google-chrome cors private-network-access

14
推荐指数
1
解决办法
2万
查看次数

松弛传入webhook:请求头字段预检响应中的Access-Control-Allow-Headers不允许Content-type

我尝试在浏览器中通过fetch API发布松弛消息:

fetch('https://hooks.slack.com/services/xxx/xxx/xx', {
  method: 'post',
  headers: {
    'Accept': 'application/json, text/plain, */*',
    'Content-type': 'application/json'
  },
  body: JSON.stringify({text: 'Hi there'})
})
  .then(response => console.log)
  .catch(error => console.error);
};
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息:

Fetch API cannot load:
https://hooks.slack.com/services/xxxxxxx/xxxxx. 
Request header field Content-type is not allowed by Access-Control-Allow-Headers in preflight response.
Run Code Online (Sandbox Code Playgroud)

该怎么办?

javascript content-type cors slack fetch-api

13
推荐指数
2
解决办法
3213
查看次数