PhalApi.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. /**
  2. * PhalApi框架 JS请求SDK
  3. *
  4. * "猫了_个咪"提供,博客地址w-blog.cn
  5. * 有好的意见或建议请联系我-><wenzhenxi@vip.qq.com> 2015-10-20
  6. *
  7. * 分为3种请求方式:get,post和get_jsonp
  8. *
  9. * 所有请求均统一传递4个参数值(请求地址,接口名称.请求参数GET传递拼接好的参数
  10. * Post传递数组key-value值,回调函数)
  11. *
  12. * 统一使用方式如下
  13. * var url = '';
  14. * var api = '';
  15. * var data = '';
  16. * query_get(url, api, data, function(rs){
  17. * //回调函数 rs为返回结果已经反json化
  18. * if(rs.ret == 200){
  19. * 成功处理
  20. * }else{
  21. * 失败处理
  22. * }
  23. * });
  24. *
  25. */
  26. //-------------------------------配置项------------------------------------
  27. var debug = true; //调试模式
  28. //-------------------------------配置项------------------------------------
  29. /**
  30. * 普通的post请求方法
  31. **/
  32. function query_post(api_url, api_name, data, callback){
  33. //拼接请求的URL地址
  34. var fullapi = api_url + '?service=' + api_name;
  35. //执行请求
  36. $.ajax({
  37. url : fullapi, //请求地址
  38. method : 'POST', //请求方式
  39. crossDomain: true,
  40. data : data, //请求参数
  41. complete : function(rs){
  42. //反Json化
  43. rs = JSON.parse(rs.response || rs.responseText);
  44. //把返回结果返回到控制台(debug模式自动开启)
  45. if(debug == true){
  46. console.log(fullapi, 'back', rs);
  47. }
  48. //回调函数
  49. callback(rs);
  50. }
  51. });
  52. }
  53. /**
  54. * 普通的get请求方法
  55. **/
  56. function query_get(api_url, api_name, data, callback){
  57. //拼接请求的URL地址
  58. var fullapi = api_url + '?service=' + api_name + data;
  59. //执行请求
  60. $.ajax({
  61. url : fullapi, //请求地址
  62. method : 'GET', //请求方式
  63. complete: function(rs){
  64. //反Json化
  65. rs = JSON.parse(rs.response || rs.responseText);
  66. //把返回结果返回到控制台(debug模式自动开启)
  67. if(debug == true){
  68. console.log(fullapi, 'back', rs);
  69. }
  70. //回调函数
  71. callback(rs);
  72. }
  73. });
  74. }
  75. /**
  76. * JsonP请求方法(用于跨域请求,只能进行get请求)
  77. **/
  78. function query_jsonp(api_url, api_name, data, callback){
  79. //拼接请求的URL地址(&callback=1是Phalapi默认使用JsonP格式)
  80. var fullapi = api_url + '?service=' + api_name + '&callback=1' + data;
  81. //执行请求
  82. $.ajax({
  83. type : "get",
  84. async : false,
  85. url : fullapi, //请求参数
  86. dataType: "jsonp",
  87. jsonp : "callback", //传递给请求处理程序或页面的,用以获得jsonp回调函数名的参数名(一般默认为:callback)
  88. success : function(rs){
  89. //把返回结果返回到控制台(debug模式自动开启)
  90. if(debug == true){
  91. console.log(fullapi, 'back', rs);
  92. }
  93. //回调函数
  94. callback(rs);
  95. },
  96. error : function(error){
  97. alert('fail');
  98. }
  99. });
  100. }