我在Java方面的背景几乎不存在,而且我已经在Scala上阅读并在REPL上玩了几周(我确实有PHP经验)。我刚刚开始尝试使用Scala和Lift框架创建一个简单的Web服务器。

我设法让它运行(使用Windows 7 x64,Java版本:1.8.0_60)。

关注this和this示例,以下是我从头开始运行服务器所做的工作:

已安装Java 1.8.0_60

使用.msi安装程序安装SBT

创建build.sbt

organization := "org.test"

name := "testproj1"

version := "0.1-alpha"

scalaVersion := "2.11.7"

libraryDependencies ++= {

val liftVersion = "2.6"

Seq(

"net.liftweb" %% "lift-webkit" % liftVersion % "compile",

"net.liftmodules" %% "lift-jquery-module_2.6" % "2.9",

"org.eclipse.jetty" % "jetty-webapp" % "8.1.7.v20120910" % "container,test",

)

}

enablePlugins(JettyPlugin)

创建project/plugins.sbt

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.0.4")

创建project/build.properties

sbt.version=0.13.8

创建src/main/scala/bootstrap/Boot.scala

package bootstrap.liftweb

import net.liftweb._

import net.liftmodules.JQueryModule

import util._

import Helpers._

import common._

import http._

import sitemap._

import Loc._

import code.snippet._

class Boot {

def boot {

LiftRules.addToPackages("code")

val entries = List(

Menu.i("Home") / "index",

Menu.i("DynamicTest") / "helloworld",

Menu.i("Static") / "static" / **

)

LiftRules.setSiteMap(SiteMap(entries:_*))

LiftRules.early.append(_.setCharacterEncoding("UTF-8"))

LiftRules.htmlProperties.default.set(

(r: Req) => new Html5Properties(r.userAgent)

)

JQueryModule.InitParam.JQuery = JQueryModule.JQuery21Z

JQueryModule.init()

}

}

创建src/main/webapp/WEB-INF/web.xml:

LiftFilter

Lift Filter

The Filter that intercepts Lift calls

net.liftweb.http.LiftFilter

LiftFilter

/*

然后在cmd,我运行sbt,更新,然后使用jetty:start启动服务器。

一切似乎都很好。我可以做简单的静态页面和站点映射。但是,当我尝试使用Ajax时,我收到了一个JS错误:

未捕获的ReferenceError:未定义liftajax

我尝试做的只是使用ajaxcall()进行简单的内容替换。这就是我对helloworld.html的所作所为:

Dynamic

Bello!

This page has dynamic content.

Hello, my dear :)

Bubbai

这是src/main/scala/code/HelloWorld.scala

package code.snippet

import net.liftweb._

import util.Helpers._

import http.js._; import JE._; import JsCmds._

import http.SHtml._

class HelloWorld {

def render = ":submit [onclick]" #> ajaxCall(

ValById("name-input"),

n => SetValById("name", n)

)

}

(我注意到如果我将脚本标记放在html文件的

中,它就不会被包含在内)。我从浏览器中得到的是:

This page has dynamic content.

value="Submit Name" type="submit">Hello, :)

我见过this question。那里的答案告诉我要启动并运行JQuery模块,我做了。加载了jQuery文件。但当然liftajax中的onclick未在任何地方定义。

所以主要的问题是,liftajax应该从哪里来,以及我为了让它运行而缺少什么?感谢。

ajax未捕获Reference,未捕获的ReferenceError:liftAjax未定义相关推荐

  1. vue-cli项目在IE下运行钩子函数抛出异常“ReferenceError: “Promise”未定义“”的解决办法

    vue-cli项目在IE下运行钩子函数抛出异常"ReferenceError: "Promise"未定义""的解决办法 参考文章: (1)vue-cl ...

  2. Spring boot异常统一处理方法:@ControllerAdvice注解的使用、全局异常捕获、自定义异常捕获

    Spring boot异常统一处理方法:@ControllerAdvice注解的使用.全局异常捕获.自定义异常捕获 参考文章: (1)Spring boot异常统一处理方法:@ControllerAd ...

  3. laravel 异常捕获_Laravel框架捕获各种类型错误

    Laravel 中的所有异常都由类App\Exceptions\Handler集中处理,这个类有两个方法:report 和 render. [report 方法] report 方法用于记录异常并将其 ...

  4. android 设置允许http请求_接口测试第6期:Fiddler设置开始捕获和停止捕获、HTTP报文结构,如何删除请求...

    关注后回复[软件测试]查看更多 上一期(第5期)用视频的形式分享了Fiddler抓包实战.Fiddler过滤器filters的使用.fiddler导出JMeter脚本插件等内容,在学习本期内容之前,需 ...

  5. WN7 上IIS7运行asp+access网站出现错误: ADODB.Connection 错误 '800a0e7a'未找到提供程序。该程序可能未正确安装

    错误描述: 在ASP连接Access数据库的时候,产生如下的出错提示: ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /Conn.asp,行 2 ...

  6. ADODB.Connection 错误 '800a0e7a' 未找到提供程序。该程序可能未正确安装。解决方法!...

    [问题描述]调试基于ACCESS+ASP的网站程序的时候,遇到如下错误: ADODB.Connection 错误 '800a0e7a' 未找到提供程序.该程序可能未正确安装. /Inc/Functio ...

  7. 为什么有网络微信却显示未连接服务器,设备公众号显示未连接,为什么公众号设备显示未连接?...

    设备公众号显示未连接,为什么公众号设备显示未连接?这是什么原因呢?下面跟着小编一起来看一看微信公众号暂时无法提供服务的解决方法吧! 设备公众号显示未连接,使用微信公众平台的朋友都遇到过,给微信公众号发 ...

  8. 重装系统后dns服务器未响应,dns服务器未响应,小编教你dns服务器未响应怎么解决...

    连网时,出现连不上网络,用Windows网络诊断,诊断出的结果是"DNS服务器未响应",遇到这样情况该怎样解决?在使用window系统的电脑上网过程中,常常会遇到DNS服务器未响应 ...

  9. STM32-定时器输入捕获实验(捕获PWM方波的频率和占空比)

    STM32-定时器输入捕获实验(捕获PWM方波的频率和占空比) 一.输入捕获模式 在输入捕获模式下,当检测到ICx信号上相应的边沿后,计数器的当前值被锁存到捕获/比较寄存器(TIMx_CCRx)中.当 ...

最新文章

  1. java读取unicode文件_java怎么样将unicode解码读取?Java读取本地文件进行unicode解码...
  2. OpenCV的projectPoints函数用法
  3. 从尾到头打印链表---剑指Offer
  4. dedecms后台左侧菜单空白不显示怎么处理
  5. Spring范围代理
  6. filecoin白皮书_【Filecoin挖矿小知识】在lotus开发网上可以参与Filecoin挖矿吗?
  7. Intel 64/x86_64/x86/IA-32处理器标志寄存器详解(3) - 32位EFLAGS - 概述
  8. 记录QT在实时显示摄像头数据时候切换TAB页出现异常
  9. 官宣:微信可以转账到QQ上了。微信今日新增全新表情包
  10. 自建服务器解网络锁,跟断刀学越狱】10分钟掌握iPhone1-4代刷机技巧
  11. hspice for linux的命令行
  12. 致远互联发布A6+在打什么牌?
  13. 去除Multiple markers at this line - advised by提示
  14. 轻松创建FB和Ins故事广告,提升内容曝光率
  15. PreTranslateMessage()
  16. 在Word2010中交叉引用插入参考文献
  17. Adsense的秘密(第1章-怎样通过Google AdSense赚到钱)
  18. Oracle 实验三: SQL语句基础(复习)
  19. iphone微信小程序底部预留bar安全距离css
  20. PageAdmin CMS建站系统可视化区块的使用教程

热门文章

  1. 用html语言制作个人网页,使用HTML制作个人网页.ppt
  2. 【Nature重磅】OpenAI科学家提出全新强化学习算法,推动AI向智能体进化
  3. 华为加班到底有多恐怖?
  4. 浏览器中预览文件(pdf、图片文件)
  5. 陈天桥, 我这五年忍住不做动作
  6. h5拼手气红包java_Java模拟微信发红包(普通红包、拼手气红包)
  7. 我国DTMB正式成为全球第四个数字电视国际标准
  8. Linux 01 Liunx系统介绍
  9. 七夕--牛郎织女传说
  10. 成长Taller-是否有可能