我在 scalajs-react 中有以下用于 GET 和 DELETE 用例的 Ajax 代码。
删除:
val ajax = Ajax("DELETE", "http://localhost:8081/delete/"+id)
.setRequestContentTypeJsonUtf8
.send("")
.onComplete { xhr =>
xhr.status match {
case 200 => {
println("Success")
....more code
)
}
case _ => {
println("Status is"+xhr.status)
Callback.log(xhr.responseText)
}
}
}
ajax.asCallback
...得到:
val ajax = Ajax("GET", "http://localhost:8081/fetch/"+id)
.setRequestContentTypeJson
.send("")
.onComplete { xhr =>
xhr.status match {
case 200 => {
println("Success")
....more code
}
case _ => {
println("Status is"+xhr.status)
Callback.log(xhr.responseText)
}
}
}
ajax.asCallback
虽然 GET 在请求完成时调用 onComplete 中的代码按预期工作,但对于 DELETE,情况并非如此。对于 DELETE onComplete 代码永远不会在请求完成时调用,即使在服务器端删除操作成功。
为什么会有这种行为差异?