小编mon*_*guy的帖子

rails ajax URL更改

我有下一个问题,我有一个用ajax打开的页面,并像这样动态更改浏览器的URL

window.history.pushState(null, null, "/desktop/manage/add");
Run Code Online (Sandbox Code Playgroud)

因此,当我在"添加"页面并打开任何带有get/post请求的页面(甚至是另一个网站)并在浏览器中按"返回"按钮时,我得到的不是页面的完整html代码,而只是ajax部分.像这样:PIC

如何解决这个问题?

PS如果我删除window.history.pushState(null,null,"/ desktop/manage/add"); 一切正常,但我需要更改浏览器的URL.

UPD:我通过邮寄请求打开这个页面,没有ajax 在此输入图像描述

然后我通过AJAX打开"管理/添加"页面 在此输入图像描述

然后转到google.com(任何网站)并点击后退按钮 在此输入图像描述

而我的ajax加载页面不是完整的HTML页面,只有像文本一样的ajax部分: 在此输入图像描述

我读到了这个问题,并且通常是rails程序员将事件添加到后面点击按钮到application.js,如下所示:

$(window).on('popstate', function () {
    $.get(document.location.href)
  });
Run Code Online (Sandbox Code Playgroud)

但这只适用于用户不去谷歌(或任何其他网站),它只有当他们通过我的网站并点击后退按钮时才有效.

UPD2: /添加控制器

def addProduct

@categories = Market.where("depth = ? and title != ''", 0).reorder(:title);
        @tags = UserTag.where(user_id: current_user.id).includes(:tags);
        respond_to do |format|
            format.html{render layout: "desktop_layout"}
            format.js {}
        end
    end
Run Code Online (Sandbox Code Playgroud)

这是我的addProduct.js :(在点击后退按钮后在屏幕截图中看到的这个渲染文件)

window.history.pushState('page212', 'Mikee.kz', '/desktop/manage/add');
    $("#rightBlock").html("<%= escape_javascript(ajax_section id:'page', :render => 'myadd') %>");
Run Code Online (Sandbox Code Playgroud)

ajax jquery html5 ruby-on-rails

12
推荐指数
1
解决办法
1365
查看次数

Javascript元素样式

我好奇为什么这个

<div class = "overlay">
    fdsfsd
</div>
.overlay{
    width: 100px;
    height: 200px;
    background-color:red;
}
alert(document.getElementsByClassName("overlay")[0].style.width); 
Run Code Online (Sandbox Code Playgroud)

没有提醒任何事情.当然我可以写,<div style = "width:100px"> 然后everthing工作正常,但它对我不好,我需要CSS.在这里你可以找到一个jsfiddle演示

所以确切的问题是:为什么这段代码没有警告div的宽度以及如果宽度由css给出,它会如何警告?

javascript css

8
推荐指数
2
解决办法
833
查看次数

使用mongoose连接到MongoDb - 错误:getaddrinfo ENOTFOUND

我有以下配置:

  "mongoose": {
    "url": "mongodb://127.0.0.1:27017/chat",
    "options": {
      "server": {
        "socketOptions": {
          "keepAlive": 1
        }
      }
    }
  }
Run Code Online (Sandbox Code Playgroud)

并连接到我的数据库

mongoose.connect(config.get('mogoose:url'), config.get('mongoose:options'))
Run Code Online (Sandbox Code Playgroud)

但我得到这样的错误:

node_modules/mongoose/node_modules/mongodb/lib/server.js:236
        process.nextTick(function() { throw err; })
                                      ^
Error: getaddrinfo ENOTFOUND undefined undefined:27017
    at errnoException (dns.js:27:10)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:78:26)
Run Code Online (Sandbox Code Playgroud)

我已经检查了类似问题的答案.

我在Mongo中很新,但是使用本机驱动程序后代码工作正常:

var MongoClient = require('mongodb').MongoClient
  , format = require('util').format;

MongoClient.connect('mongodb://127.0.0.1:27017/chat', function(err, db) {
  if (err) throw err;
//blabla
}
Run Code Online (Sandbox Code Playgroud)

因此,在我的案例中,这个问题的答案并不实际.

mongoose mongodb node.js

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

Angular2 @Input和生命周期钩子

我有以下组件:

export class AddressListComponent implements AfterViewInit{   
  @Input() districts: District[] = [];

  constructor() { }

  ngAfterViewInit() {
    console.log(this.districts);   } }
Run Code Online (Sandbox Code Playgroud)

所以它控制台将区域记录为空数组,但我将其作为输入非空数组发送,并且它很好地显示了这个html:

<a *ngFor = "let district of districts; let i = index"  class="list-group-item clearfix" >
        WORKS
 </a>
Run Code Online (Sandbox Code Playgroud)

所以我的问题是下一个:在生命周期钩子中,我能够从districts数组中控制日志数据吗?因为我需要在显示html之前更改它

input angular

5
推荐指数
1
解决办法
1344
查看次数

使用 with 语句创建视图

如何使用 with 语句创建视图?我遇到了错误:

    WITH temp as (
select uu.email, u.logintime, u.region, p.id as panelid, p.panelname, p.numberofdownloads, dimensionType + ' (' + dimensionValue + ')' as filter
from stat_users u
left join stat_panels p
on u.id=p.sessionid
left join stat_filters f
on p.id=f.panelid
left join users uu
on uu.id=u.userid
where uu.Organization = 'name' AND
     year(logintime) between 2015 and 2017
    and panelname is not  null
)


CREATE VIEW final as(
    select aa.email, aa.logintime, aa.region, aa.panelname, aa.numberofdownloads as downloads, case when len(aa.filters) > 0 …
Run Code Online (Sandbox Code Playgroud)

sql sql-server view with-statement

4
推荐指数
1
解决办法
6235
查看次数

无限长线Sublime 3

如何使Sublime 3中线的最大长度无限制?我试图添加"max_line_length": null,甚至"max_line_length": 10000"是Preferences.sublime-setting,但它不适用于我.

sublimetext sublimetext3

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

从select更改值时不触发ngOnChanges

我有下一个html:

<select  [(ngModel)]="district"  class="form-control" (change)="dsChange()">

      <option disabled hidden [value]="undefined" >?????</option>

      <option *ngFor="let dis of districts" [ngValue]="dis">{{dis.title}}</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我还有下一个组件

@Input() district: District;
 ngOnChanges(changes: SimpleChanges) {
      console.log("CHANGED")
}
 dsChange(){
      console.log(this.district);
}
Run Code Online (Sandbox Code Playgroud)

而且我不明白为什么当我选择一些值dsChange时会用区的正确值触发,但是ngOnChanges()却没有

angular2-template ngonchanges angular

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

在Golang中使用Gin Gonic和一些调度程序

我在Gin Gonic中有一些REST服务,并且我需要每5秒使用一些调度程序来做一些工作。我已经尝试过了rakanalhgocron但是似乎在初始化crons或gin路由之后编写的每个代码都不会执行。

func main() {
    settings.AppSettings = settings.ReadSettings()

    db.InitOracleDataBase()
    OracleEnv, OracleSrv, OracleSes := db.GetOracleDB()
    defer OracleEnv.Close()
    defer OracleSrv.Close()
    defer OracleSes.Close()

    routes.Init()


    gocron.Every(5).Seconds().Do(prOk)
    <-gocron.Start()


}
Run Code Online (Sandbox Code Playgroud)

prOk只是打印OK,在我发表评论之前它永远不会执行routes.init()。如何同时运行cron和gin路由?

go gin-gonic

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

在 HTML5 拖放中更改重影图像

这里我有一些很大的 div,但它的幽灵对我来说太大了,我想改变它。这是我的解决方案:

<div draggable = "true" id = "ololo">
</div>
var k = document.getElementById("ololo");
k.addEventListener("dragstart", _drag, false);

function _drag(evt){
    var cl =  this.cloneNode(true);
    cl.style.backgroundColor = "blue";
    cl.style.width = "10px";
    cl.style.height = "10px";
    cl.style.position = "absolute";
    cl.style.left = "1000px";
    cl.style.overflow = "hidden";

    document.getElementsByTagName("body")[0].appendChild(cl);
    evt.dataTransfer.setDragImage(cl, 0, 0);

    window.setTimeout(function() {
       cl.parentNode.removeChild(cl);
    }, 1000);

}
Run Code Online (Sandbox Code Playgroud)

Jsffidle 演示它工作正常,但在生产中使用它好吗?为什么在滚动条溢出时即使我隐藏它也会有滚动条?

html javascript css

0
推荐指数
1
解决办法
6835
查看次数