CoffeeScript 不使用 jQuery 的 Ajax 请求


本文整理自网络,侵删。

不使用 jQuery 的 Ajax 请求

问题

你想要通过AJAX来从你的服务器加载数据,而不使用jQuery库。

解决方案

你将使用本地的XMLHttpRequest对象。

通过一个按钮来打开一个简单的测试HTML页面。

<!DOCTYPE HTML>
<html lang="en-US">
<head>
    <meta charset="UTF-8">
    <title>XMLHttpRequest Tester</title>
</head>
<body>
    <h1>XMLHttpRequest Tester</h1>
    <button id="loadDataButton">Load Data</button>

    <script type="text/javascript" src="XMLHttpRequest.js"></script>
</body>
</html>

当单击该按钮时,我们想给服务器发送Ajax请求以获取一些数据。对于该例子,我们使用一个JSON小文件。

// data.json
{
  message: "Hello World"
}

然后,创建CoffeeScript文件来保存页面逻辑。此文件中的代码创建了一个函数,当点击加载数据按钮时将会调用该函数。

1 # XMLHttpRequest.coffee
2 loadDataFromServer = ->
3   req = new XMLHttpRequest()
4 
5   req.addEventListener 'readystatechange', ->
6     if req.readyState is 4                        # ReadyState Complete
7       successResultCodes = [200, 304]
8       if req.status in successResultCodes
9         data = eval '(' + req.responseText + ')'
10         console.log 'data message: ', data.message
11       else
12         console.log 'Error loading data...'
13 
14   req.open 'GET', 'data.json', false
15   req.send()
16 
17 loadDataButton = document.getElementById 'loadDataButton'
18 loadDataButton.addEventListener 'click', loadDataFromServer, false

讨论

在以上代码中,我们对HTML中按键进行了处理(第16行)以及添加了一个单击事件监听器(第17行)。在事件监听器中,我们把回调函数定义为loadDataFromServer。

阅读剩余部分

相关阅读 >>

CoffeeScript 生成可预测的随机数

CoffeeScript 桥接模式

CoffeeScript 备忘录模式

CoffeeScript 更快的 fibonacci 算法

CoffeeScript 服务端和客户端的代码重用

CoffeeScript 由数组创建一个对象词典

CoffeeScript 匹配字符串

CoffeeScript 类变量和实例变量

CoffeeScript 模板方法模式

CoffeeScript 对象数组

更多相关阅读请进入《CoffeeScript》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...