Advertisement
Guest User

Untitled

a guest
Nov 16th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.33 KB | None | 0 0
  1.  
  2.  
  3. <!DOCTYPE html>
  4. <html lang="en">
  5. <head>
  6. <meta charset="UTF-8">
  7. <title>HitTastic! The Fantastic hit site!</title>
  8. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
  9. <script type='text/javascript'
  10. src='http://www.free-map.org.uk/osmuk/jslib/leaflet.js'></script>
  11. <link rel='stylesheet' type='text/css'
  12. href='http://www.free-map.org.uk/osmuk/jslib/leaflet.css' />
  13. <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  14. <style>
  15. body {
  16. background-image:
  17. linear-gradient(to bottom, rgba(255,255,255,0.8) 100%,rgba(255,255,255,0.9) 100%),url("https://d2v9y0dukr6mq2.cloudfront.net/video/thumbnail/qKKjDnx/close-up-hd-movie-of-a-record-player-playing-a-vinyl-black-record-the-needle-is-being-put-onto-the-record-and-removed-again_ekgj-lxf__F0000.png");
  18. }
  19. .underline{
  20. border-bottom: 1px solid #A9A9A9;
  21. }
  22. th{
  23. text-align: center;
  24. }
  25. @media screen and (max-width: 768px) {
  26. .map{
  27. width: 75%!important;
  28. height: auto!important;
  29. }
  30.  
  31. }
  32.  
  33.  
  34. </style>
  35. <script type='text/javascript'>
  36.  
  37. // function ajaxrequest()
  38. // {
  39. // var xhr2 = new XMLHttpRequest();
  40.  
  41. // xhr2.addEventListener ("load", (responseReceived));
  42.  
  43. // var a = document.getElementById("artist").value;
  44.  
  45. // xhr2.open("GET" , "http://edward2.solent.ac.uk/~jtongue/WAD/WebServices.php?artist=" + a);
  46. // xhr2.send();
  47. // }
  48.  
  49. function ajaxrequest()
  50. {
  51. var xhr2 = new XMLHttpRequest();
  52.  
  53.  
  54. xhr2.addEventListener ("load", (e) =>
  55. {
  56. //var output = "";
  57. var data = JSON.parse(e.target.responseText);
  58. for(var i=0; i<data.length; i++)
  59. {
  60. var p = document.createElement("p");
  61. var newText = document.createTextNode('Song Name:' + data[i].title + 'Artist:' + data[i].artist + 'Downloads:' + data[i].downloads + '');
  62. var newButton = document.createElement("input");
  63. newButton.setAttribute('type','button');
  64. newButton.setAttribute('value','DOWNLOAD')
  65. newButton.setAttribute('id','btn' +data[i].songid);
  66. p.appendChild(newText);
  67. p.appendChild(newButton);
  68. document.getElementById('resultsContainer').appendChild(p);
  69.  
  70.  
  71. newButton.addEventListener("click", (e) =>
  72. {
  73.  
  74. var songId = e.target.id.substring(3);
  75. alert(songId);
  76. var user = "SarahBrown";
  77. var pass = "newyork791";
  78. var xhr2 = new XMLHttpRequest();
  79. var data = new FormData();
  80. data.append("songid", songId);
  81. xhr2.addEventListener("load", downloadresponse);
  82. xhr2.open("POST" , "/~jdearmer/wad/l4/downloadwebservice.php");
  83. xhr2.setRequestHeader("Authorization","Basic " + btoa(user + ":" + pass));
  84. xhr2.send(data);
  85. });
  86. }
  87. // document.getElementById("response").innerHTML=output;
  88. } );
  89.  
  90. var a = document.getElementById("artist").value;
  91.  
  92. xhr2.open("GET" , "/~jtongue/WAD/WebServices.php?artist=" + a);
  93. xhr2.send();
  94. }
  95.  
  96.  
  97.  
  98. function downloadresponse(e)
  99. {
  100. console.log(e.target.responseText);
  101. var result = document.createElement("div");
  102. if (e.target.status==402) {
  103. var failed = document.createTextNode("You have no money.");
  104. result.appendChild(failed);
  105. document.body.appendChild(result);
  106. }
  107. else
  108. {
  109. var succeed = document.createTextNode("You purchased this song.");
  110. result.appendChild(succeed);
  111. document.body.appendChild(result);
  112. }
  113. }
  114.  
  115. function init()
  116. {
  117. var app = new MappingApp();
  118. }
  119. function MappingApp(){
  120. this.map = L.map ("map1");
  121. this.tilelayer = L.tileLayer
  122. ("http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
  123. { attribution: this.attrib } ).addTo(this.map);
  124.  
  125. this.attrib="Map data copyright OpenStreetMap contributors, Open Database Licence";
  126.  
  127.  
  128. this.map.setView([51.430614,-1.148620], 14);
  129. document.getElementById("searchBtn").addEventListener("click", this.ajaxrequest2.bind(this));
  130. }
  131.  
  132. MappingApp.prototype.ajaxrequest2 = function()
  133. {
  134. var xhr2 = new XMLHttpRequest();
  135.  
  136. xhr2.addEventListener ("load", this.responseReceived2.bind(this));
  137.  
  138. var a = document.getElementById("artist").value;
  139.  
  140. xhr2.open("GET" , "http://edward2.solent.ac.uk/wad/artists.php?artist=" + a);
  141. console.log(a);
  142. xhr2.send();
  143. }
  144. MappingApp.prototype.responseReceived2 = function(e)
  145. {
  146.  
  147. var output = ""; // initialise output to blank text
  148. var artistData = JSON.parse(e.target.responseText);
  149.  
  150. var lat = artistData.lat;
  151. var lon = artistData.lon;
  152. var town = artistData.hometown;
  153. console.log(lat);
  154. console.log(lon);
  155. var artistPos = [lat, lon];
  156. this.map.setView(artistPos, 14);
  157. var homeTownmarker = L.marker(artistPos).addTo(this.map);
  158. homeTownmarker.bindPopup(town);
  159. }
  160.  
  161.  
  162.  
  163.  
  164. </script>
  165. </head>
  166. <body onload="init()">
  167. <div class="container">
  168. <div class="row">
  169. <div class="col col-lg-12" style="text-align: center;"><h2>HitTastic!</h2></div>
  170. </div>
  171. <div class="row">
  172. <div class="col col-lg-12" style="text-align: center;">Welcome to HitTastic! This is a site that shows all of the number 1 hits from 1960 onward. You'll be sure to find something you love here!</div>
  173. </div>
  174. <div class="row">
  175. <div class="col col-lg-12 text-center" >
  176. <p>
  177. Artist: <br />
  178. <input id="artist" value="Oasis"/>
  179.  
  180. <input type="button" value="Go!" onclick="ajaxrequest()" />
  181. <input type="button" id="searchBtn" value="Where is this artist from?" />
  182. </p>
  183.  
  184. </div>
  185. </div>
  186. <div class="row">
  187. <div class="col col-lg-12 text-center " id="">
  188. <table align="center" cellpadding="10" style="background-color:rgba(255, 255, 255, 0.5);">
  189. <thead>
  190. <tr>
  191. <th>Results</th>
  192. </tr>
  193. </thead>
  194. <tbody id="resultsContainer">
  195. </tbody>
  196. </table>
  197. </div>
  198. </div>
  199. </div>
  200. <div id="map1" class="map" style="width:584px; height:418px; text-align: center; margin: 0 auto;" align="center"> </div>
  201.  
  202.  
  203.  
  204.  
  205.  
  206.  
  207. <!-- JS added at end of page to help load times. BootStrap JS. -->
  208. <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  209. <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
  210. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
  211. </body>
  212. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement