跨域问题,当mode为include时,Access-Control-Allow-Origin不能为*,

The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'.


配合前端写Vue项目时,浏览器遇到这种错误,按道理来说http response 的 header 中 Access-Control-Allow-Origin参数 为* 时,可以满足一切域名情况。

看样子 看了半天也不行,修改nginx的配置 Access-Control-Allow-Origin 改为 http://xxx.xxx.com时候,可以了。最后查找跨域文档才发现

跨域请求发送cookie的时候,需要判断是否包含了请求源的origin,不然不发送cookie,然后,OPTIONS请求发送成功后,并没有新的请求发出。

解决方法是:
nginx配置修改一下

add_header Access-Control-Allow-Origin *;

改成

add_header Access-Control-Allow-Origin "$http_origin";


这样满足任何情况

最容易理解的CSS的position教程——十步图解CSS的position

CSS的positon,我想做为一个Web制作者来说都有碰到过,但至于对其是否真正的了解呢?那我就不也说了,至少我自己并不非常的了解其内核的运行。今天在Learn CSS Positioning in Ten Steps一文中分十步介绍了CSS的“position”中的“static、relative、absolute、float”使用,觉得蛮有意思的。整理了一下贴上来与大家一起分享。希望大家能喜欢。

继续阅读“最容易理解的CSS的position教程——十步图解CSS的position”

html5实现ajax上传文件

var formData = new FormData();
formData.append('name', tr.find('input[name="name"]').val());

if (tr.find('input[name="logo"]')[0].files[0] !== undefined) {
    formData.append('logo', tr.find('input[name="logo"]')[0].files[0]);
}
$.ajax('http://example.com/abc/upload/', {
    type: 'POST',
    cache: false,
    data: formData,
    dataType: 'json',
    processData: false,
    contentType: false,
    success: function(result) {
        console.log('保存成功');
    },
    error : function (msg) {

    },
});

html前端处理GET参数两个基类方法备忘

function ObjectToStr(obj) {
    var result = '';
    $.each(obj, function(k, v){
        if (result === '') {
            result = '?' + k + '=' + v;
        } else {
            result += '&' + k + '=' + v;
        }
    });
    return result;
}


function getParams() {
    var url = window.document.location.href.toString();
    var u = url.split("?");
    if(typeof(u[1]) == "string"){
        u = u[1].split("&");
        var get = {};
        for(var i in u){
            var j = u[i].split("=");
            get[j[0]] = j[1];
        }
        delete get.page;
        return get;
    } else {
        return {};
    }
}