http_api.html 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. <include file="Common/header" />
  2. <style type="text/css">
  3. input{
  4. width: 100%;
  5. }
  6. </style>
  7. <div id="layout" style="width: 70%;margin: auto;">
  8. <form class="form-horizontal">
  9. <h2 style="text-align: center;">{$Think.Lang.api_test_title}</h2>
  10. <div class="control-group">
  11. <div class="controls">
  12. <select style="width: 100px;" id="method" >
  13. <option value="post">POST</option>
  14. <option value="get">GET</option>
  15. </select>
  16. </div>
  17. </div>
  18. <div class="control-group">
  19. <div class="controls">
  20. <label >{$Think.Lang.api_address_description}</label>
  21. <input type="text" id="url" placeholder="{$Think.Lang.api_address}" >
  22. </div>
  23. </div>
  24. <div class="control-group">
  25. <div class="controls">
  26. <label >{$Think.Lang.params_description})</label>
  27. <input type="text" id="params" placeholder="{$Think.Lang.params}" >
  28. </div>
  29. </div>
  30. <div class="control-group">
  31. <div class="controls">
  32. <button type="button" class="btn btn-primary" id="http-submit">{$Think.Lang.submit}</button>
  33. <button type="reset" class="btn btn-link" >{$Think.Lang.clear}</button>
  34. </div>
  35. </div>
  36. <div class="control-group">
  37. <div class="controls">
  38. <label >{$Think.Lang.result}</label>
  39. <textarea style="width: 100%;height: 300px;" id="http-response"></textarea>
  40. </div>
  41. </div>
  42. </form>
  43. </div>
  44. <include file="Common/footer" />
  45. <script type="text/javascript">
  46. $(function () {
  47. //格式化json数据
  48. function dump(arr,level) {
  49. var dumped_text = "";
  50. if(!level) level = 0;
  51. //The padding given at the beginning of the line.
  52. var level_padding = "";
  53. for(var j=0;j<level+1;j++) level_padding += " ";
  54. if(typeof(arr) == 'object') { //Array/Hashes/Objects
  55. var i=0;
  56. for(var item in arr) {
  57. var value = arr[item];
  58. if(typeof(value) == 'object') { //If it is an array,
  59. dumped_text += level_padding + "\"" + item + "\" : \{ \n";
  60. dumped_text += dump(value,level+1);
  61. dumped_text +=level_padding +"\}";
  62. } else {
  63. dumped_text += level_padding + "\"" + item + "\" : \"" + value + "\"";
  64. }
  65. if(i<Object.getOwnPropertyNames(arr).length-1){
  66. dumped_text+=", \n";
  67. }else{
  68. dumped_text+=" \n";
  69. }
  70. i++;
  71. }
  72. } else { //Stings/Chars/Numbers etc.
  73. dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
  74. }
  75. return dumped_text;
  76. }
  77. $("#http-submit").on('click',function () {
  78. $.post("?s=home/page/ajaxHttpApi",{
  79. url:$("#url").val(),
  80. method:$("#method").val(),
  81. params:$("#params").val()
  82. },function (data) {
  83. try{
  84. var text="\{ \n"+dump(JSON.parse(data))+" \}";//整体加个大括号
  85. $("#http-response").val(text);
  86. }catch(e){
  87. //非json数据直接显示
  88. $("#http-response").val(data);
  89. }
  90. });
  91. });
  92. });
  93. </script>