当javascript发布更改时,Play Framework不刷新页面

时间:2015-06-02 21:18:54

标签: javascript scala playframework

所以问题是我有2个组合框,comboONE和comboTWO。 comboTWO的人口取决于comboONE的选择...即当选择了comboONE时我想点击服务器并传入comboTWO的相关值。

一切似乎都在加入,甚至从Controller返回的调用也会被调用..但奇怪的是不刷新页面......如果我把它发送到一个完全不同的页面,这是真的。

所以有些代码...... scala模板看起来像......

@(adminAccess: Boolean, theLocationClassTimes: List[String])
<!DOCTYPE html>

:
:
    <script>
        function populateClassTimeSelect(classLocation) {
        var req = new XMLHttpRequest() ;
        req.open("post", "/locationclasstimes/" + classLocation);
        req.onload = function ( e ) {
            if ( req.status = 200 )  {
                document.reload(true);
            }
        };
        req.send();
        }
    </script>
:
// And use "theLocationClassTimes" list down here

路线档案有......

GET         /contacts.html                            controllers.Application.contacts
POST        /locationclasstimes/:classLocation        controllers.Application.locationClassTimes(classLocation: String)

...然后控制器就像......

 def contacts = SecureAction { request =>
    Ok(views.html.contacts(isAdminUser(request), List("andyOne", "andyTwo")))
  }

  def locationClassTimes(classLocation: String) = SecureAction  { request =>
    val validClassTimesForLocation = List("Hello1","Hello2", classLocation)
    Ok(views.html.contacts(!isAdminUser(request), validClassTimesForLocation))
  }

我应该说的是这里的命名很差..但基本上是&#34; locationClassTimes&#34;函数确实按预期调用,并创建我的新列表。 但HTML页面不会刷新新内容。 如果我发送一个完全不同的页面,我可以看到它执行了所需的处理(即读取该页面的数据库),但实际上并没有呈现它。

所以我猜我有两个主要问题: (1)在这里连接点是否有明显的错误 (2)在播放框架中是否有更简单的方法将comboONE与comboTWO连接起来。我想在此时点击服务/数据库层。

非常感谢任何指针,因为我对前端webby的所有事情都是全新的!

0 个答案:

没有答案