面试题讨论
在这个版块,大家可以贴出自己的面试题与大家分享,可以寻求答案也可以给大家提供参考。我们欢迎各种形式的讨论,具体格式如下:
/**
题目:如何构建原生的Ajax
答案:
var ajax = function(param) { var xhr = XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP"); var type = (param.type || 'get').toUpperCase(); var url = param.url; if (!url) { return } var data = param.data, dataArr = []; for (var k in data) { dataArr.push(k + '=' + data[k]); } dataArr.push('_=' + Math.random()); if (type == 'GET') { url = url + '?' + dataArr.join('&'); xhr.open(type, url); xhr.send(); } else { xhr.open(type, url); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xhr.send(dataArr.join('&')); } xhr.onload = function() { if (xhr.status == 200 || xhr.status == 304) { var res; if (param.success && param.success instanceof Function) { res = xhr.responseText; if (typeof res === 'string') { res = JSON.parse(res); param.success.call(xhr, res); } } } }; };
效果:通过/未通过
技巧:多准备基础知识,手动练习代码
知识点:XMLHttpRequest */