ajax未捕获Reference,未捕获的ReferenceError:liftAjax未定义

我在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应该从哪里来,以及我为了让它运行而缺少什么?感谢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值