请问高手,新手怎么学习ajax,写代码不难,但是代码写好了都没办法运行!就算把标准的正确代码复制到自己的编辑器,也无法运行。这服务器真是搞死我了,刚问了两个问题,高手都提示说装个环境啦,装了xampp也不知道怎么用。
请问高手,可以大概说一下怎么方便测试自己的代码吗?
哎,这涉及服务器的就麻烦了。
例如:http://www.w3school.com.cn/tiy/t.asp?f=ajax_get
用公开的api练手吧 不需要服务器
http://pokeapi.co/
其实学习前端的时候,必须了解一些简单的后端语言,比如PHP或者Java,PHP相对来说比较简单。
之后,就可以像你所说的那样安装一个集成环境,比如Xampp这样的,然后自己写一个简单的PHP文件,只需要一个echo输出一段字符串,然后发送请求,去测试。
这是必须要经历的,想要搞懂ajax。 而且学习一部分简单的PHP等后端知识,也是比较好的!!
用jquery 吧,几分钟都学会了
不要服务器好像也可以,XMLHttpRequest对象好像支持file协议
要只是测试你写一个 .json 文件就行吧,不需要装服务器端环境啊,比如:
user.json:
{
'userid': 1,
'username': 'foo',
'email': 'foo@gmail.com'
}
Ajax:
//...
xmlhttp.open("GET", "/user.json", true);
//...
单纯测试 ajax
代码的话,不是一定要服务器支持的吧,你搞个 json
文件,把这个文件放在你 js
脚本同一个目录下(其实不放在同一个目录也没问题,只是这样方便),然后直接用 ajax
获取这个文件,就能得到 json
数据了。
//这里先封装一个 ajax 方法:
function ajax(url, opts){
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
var completed = 4;
if(xhr.readyState === completed){
if(xhr.status === 200){
opts.success(xhr.responseText, xhr);
}else{
opts.error(xhr.responseText, xhr);
}
}
};
xhr.open(opts.method, url, true);
xhr.send(opts.data);
}
//用这个方法获取那个 json 数据:
//比如刚才在同一个目录下伪造的 json 文件名是 test.json,那下面 'path-to-your-json-file' 就直接写 test.json
ajax('path-to-your-json-file', {
method: 'GET',
success: function(response) {
//这里的 response 就是那个 json 文件的内容了
var jsonObj = JSON.parse(response);
//your other code
}
}
想要了解熟悉Ajax,必须得了解基本的HTTP
协议。也就是说,你得知道什么是请求(request
),什么是响应(response
),以及基本的HTTP请求方法(GET
POST
PUT
DELETE
)等
比如浏览器访问一个页面,通常是浏览器服务端发送一个请求,服务端接受请求时候,再做一个响应,浏览器再把响应的内容展示出来。
ajax
可以理解为js
构造了一个xmphttprequest
,这个对象可以发送一个请求给服务器,然后服务器返回响应的时候,js
会处理。
当然,题主可能是没有好的服务端,这里推荐一个网站:http://httpbin.org/
可以把这个网站当成你ajax请求的服务端,支持 GET
,PUT
,POST
等HTTP method
。
总而言之,了解HTTP对掌握ajax是很必要的。
ajax必须在服务器端运行才能获取数据,安装个wamp放在www文件下访问就行了
ajax其实就是三部分内容:
js, http, 后端语言。
js了解xmphttprequest状态,及周边知识,比如函数,变量等等的。
http其实了解url请求发出拿回的整个过程,包括dns, apache/nginx/ill返回,php/java返回等等的。以及简单的工具的使用,比如firebug,chrome调试工具,fiddle等等。并且根据日常的一些错误码,错误信息来排查问题。
了解后端语言基本的curd,比如php的。
如果非要加点,就是后端语言环境的搭建,html,双击就可以运行。php需要最简单的wamp环境套餐的安装。这些东西建议了解一下,有助于真正的ajax错误的排查。
感觉web前后端真的很难完全分离,学前端的也还是要懂服务器端,后端也必需得懂前端,最后往往是一个人前后端都能做