PHP是非常流行的Web服务端语言,Ajax是Web前端异步加载的技术。刚刚学习PHP,发现PHP真是强大,对Ajax或RESTFul的支持非常好,代码写起来也非常简单。今天分享一个个人学习的测试示例,前端使用Ajax向服务端发送请求,服务端使用PHP处理请求,并返回响应信息。接口规范遵循RESTFul。
前端
为简化Ajax操作,引入JQuery来发送Ajax请求。请求包含查询字符串,HTTP头及表单数据。
```html test.html
Document
function my_post() {
var div = $('#result');
$.ajax({
继续阅读 »
Sumary
今天我要说的其实和之前的ajax不太一样。包括以下内容:
FormData
Fetch
CROS
如果你认为你都知道就不用看了。
CROS
最近在写一个项目,完全的前后端分离,所有数据都是来自于Ajax,连权限控制也是前端完成了。
继续阅读 »
最近一个项目做的是搜索引擎的前端,要实现的是搜索框实时匹配用户输入并且提示相关内容。我们的框架是要在得到query的term之后访问/auto?query=并且获取网页中的json,分析数据以下拉框的方式返回,并且对匹配字符高亮。
继续阅读 »
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。
是异步请求,只能返回简单的文本,而下载文件一般都是同步的。
最近遇到一个需求,需要在用户选择的条件有错的情况下 alert 出提示,没错的情况下下载文件。
继续阅读 »
很多应用都在需要用户登陆的 controller 添加了拦截器,未登陆或登陆超时会被重定向到登陆页面。
但是长期不操作 session 过期之后,执行 Ajax 请求,返回的数据会直接是登陆页面的 html 文件。
这样用户操作起来会得不到任何的反馈,没有返回数据,也没重定向到登陆页面。
继续阅读 »
背景
在一个页面中需要获取几家保险公司的报价数据,请求内容除了保险公司的标识外基本相似。有10家保险公司,就需要10个请求,这个10个请求在 Controller 对应一个 Action。我期待的结果,任何一个请求返回数据,就可以立即进入该结果详情页面(详情内容在这次请求中已经获取)。事实上,我点击以后,需要等待好久才可以进入详情页面。
继续阅读 »
jQuery的开发速度很快,几乎每半年一个大版本,每两个月一个小版本。
每个版本都会引入一些新功能。今天我想介绍的,就是从jQuery 1.5.0版本开始引入的一个新功能----deferred对象。
这个功能很重要,未来将成为jQuery的核心方法,它彻底改变了如何在jQuery中使用ajax。为了实现它,jQuery的全部ajax代码都被改写了。但是,
它比较抽象,初学者很难掌握,网上的教程也不多。所以,我把自己的学习笔记整理出来了,希望对大家有用。
more
什么是deferred对象?
开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异步的操作(比如ajax读取服务器数据),也有同
继续阅读 »
最近做了一个表单,需要提交好多信息和一些图片,后台的同学说要图片随着表单一起提交。那就不能用 ajax 单张上传了~
图片的话,最多可以选8张,选中了的也可以取消掉,因为并没有传到服务器,所以删除很easy。
然后我就想到了可以用 FormData 来做,因为之前好像用过,感觉很方便。
FormData
The FormData interface provides a way to easily construct a set of key/value pairs representing form fields and their values, which can then be easily sent using t
继续阅读 »
Nodejs爬取蚂蜂窝文章的爬虫以及搭建第三方服务器
more
如题,本项目用Nodejs实现了对蚂蜂窝网站的爬取,并将数据储存到MongoDB中,再以Express作服务器端,Angularjs作前端实现对数据的托管。
本项目Github地址:https://github.com/golmic/mafengwo-spider
本项目线上地址: http://mafengwo.lujq.me
本文介绍其中部分的技术细节。
获取数据
打开蚂蜂窝网站,发现文章部分的数据是用Ajax获取的,包括分页也是,所以查看一下实际的请求路径,为http://www.mafengwo.cn/ajax/ajax_article.php?start=
继续阅读 »
高阶函数是至少满足下列条件之一的函数
* 函数可以作为参数被传递
* 函数可以作为返回值输出
(js这么好的语言中的函数当然满足 ^^)_
函数作为参数传递
把函数当作参数传递,可以抽离出一部分容易变化的业务逻辑,把这部分业务逻辑放在函数中,可以分离业务代码中变与不变的部分。
回调函数,ajax异步,callback
var getUserInfo() = function(userId, callback) {
$.ajax('http://xxx.com/getUserInfo?' + userId, function(data) {
if (typeof(callback === '
继续阅读 »