jQuery技术

node.js版本$.ajax方法,使用基本和jQuery.ajax相同

字号+ 作者:H5之家 来源:H5之家 2017-07-22 12:01 我要评论( )

CNode:Node.js专业中文社区

/** * 功能:本文件主要实现了nodejs版本的$.ajax方法,使用基本和jQuery.ajax相同 * 时间:2012-07-17 * 作者:潘雪鹏 */ var http = require("http"), Url = require("url"), querystring = require('querystring'); // 默认值 function defaults(url){ return { // 如果返回false可以取消本次请求 beforeSend: function(req){}, complete: function(req){}, data: '', // Object, String dataType: 'html', error: function(){}, headers: {}, // {k:v, ...} statusCode: {}, success: function(data){}, timeout: 10, type: 'GET', // GET, POST url: url } } /** * */ function ajax( settings ){ // ajax(settings) if( typeof settings === "object" ){ // 处理默认值继承 // todo ... } var params = Url.parse(settings.url, true); // params 解析出来的参数如下 // { // "protocol":"http:", // "slashes":true, // "host":"localhost:3000", // "port":"3000", // "hostname":"localhost", // "href":"http://localhost:3000/?d=1", // "search":"?d=1", // "query":{"d":"1"}, // "pathname":"/", // "path":"/?d=1" // } var options = { host: params.hostname, port: params.port || 80, path: params.path, method: settings.type }; var req = http.request(options, function(res) { var data = ''; res.on('data', function(chunk){ data += chunk; }).on('end', function(){ if( settings.dataType === "json" ){ try{ data = JSON.parse(data); }catch(e){ data = null; } } settings.success(data); settings.complete(req); }); }).on('error', function(e) { settings.error(e); }); if( typeof settings.beforeSend === "function" ){ if ( !settings.beforeSend(req) ){ settings.complete(req); req.end(); return false; } } if( settings.type === "POST" ){ req.write(querystring.stringify(settings.data)); } req.setTimeout(settings.timeout); req.end(); } exports.ajax = ajax;

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 采用npm install jquery 无法安装。

    采用npm install jquery 无法安装。

    2017-07-22 12:00

  • nodejs HTML分析利器node

    nodejs HTML分析利器node

    2017-02-17 17:03

  • 怎么在node中使用jquery?

    怎么在node中使用jquery?

    2016-12-31 14:03

  • Jquery通过ajax请求NodeJS返回json数据实例

    Jquery通过ajax请求NodeJS返回json数据实例

    2016-11-26 14:37

网友点评