我将scala.js
与scala.js-react
一起使用。为了发送ajax
请求,我写了类似的内容:
def send(e: ReactEventFromInput) = Callback{
val v = e.currentTarget.value
val formData = new FormData()
formData.append("myVar", v)
val xhr = new XMLHttpRequest
xhr.onreadystatechange = (e: org.scalajs.dom.Event) => {
if (xhr.readyState == XMLHttpRequest.DONE) {
if (xhr.status == 200) {
println("Sended!")
} else {
println("Error!")
}
}
}
xhr.open("POST", "/my-api-route", true)
xhr.setRequestHeader("X-Requested-With", "XMLHTTPRequest")
xhr.send(formData)
}
它有效,但代码非常长。
它是否提供了javascript fetch等提取方法?
P.S。对不起我的英语,这不是我的母语
答案 0 :(得分:1)
找到Ajax
对象:
def send(e: ReactEventFromInput) = Callback{
val v = e.currentTarget.value
val formData = new FormData
formData.append("myVar", v)
Ajax.post("/my-api-route", formData) map (r =>
println("Sended!")
) onFailure {
case dom.ext.AjaxException(r) => println("Error:" + r.response)
}
}