Advertisement
KubiPL

[JS] AJAX data save

Nov 5th, 2015
182
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. =================================================================================================================================
  2. 1. Stworzyć w projekcie folder 'pliki'
  3. 2. Dodać do projektu streamer.aspx, streamer.aspx.cs
  4. 3. Dodać przycisk do głównej strony
  5. =================================================================================================================================
  6. //BUTTON DO WYSYŁANIA (index.html)
  7. =================================================================================================================================
  8. $("#savetosrv").click(function () {
  9. //To co wymaga, to nazwa dla kazdej wycieczki, wczytywanie przez prompta
  10.     var name = prompt("Podaj nazwę wycieczki");
  11.     if (name == null) {
  12.         alert("Nie podałeś nazwy wycieczki");
  13.         return;
  14.     }
  15.  
  16.     $.mobile.showPageLoadingMsg(); // Maly bajer w postaci graficznego ladowania
  17.    
  18.     var tab = [];
  19.     var d = new Date; //Aktualna data (należy sformatować jako YYYY-MM-DD HH:MM:SS)
  20.  
  21. //Poprzednia nazwa wycieczki, wybrany kolor trasy z kolornika, aktualny czas
  22.     tab.push(name, polylineColor, d); //Wrzucenie do tablicy nazwy, koloru i daty, zgodnie z formatem
  23.  
  24.     $.map(markerList, function (index, element) { //Wypisanie wszystkich punktów wycieczki w postaci tablicy
  25.         tab.push(new Array(index.posX, index.posY)); //index należy zostawić, odwołuje sie on do obiektu przechowujacego pozycje markerow, do zmiany mozliwe 'posX' 'posY'
  26.     })
  27.     var obj = { //Obiekt gotowy dla serwera
  28.         trasa: JSON.stringify(tab) //Specjalny parser umożliwiający sprawdzenie lub przetworzenie danych do wysylu
  29.     };
  30.     //Przetwarzanie AJAXem danych dla serwera - zmienia się tylko URL.
  31.     $.ajax({
  32.         type: "POST", //Metoda wysyly (GET POST HEAD)
  33.         url: "http://localhost/MAPA/streamer.aspx", //Adres pliku do komunikacji z serwerem
  34.         data: obj, //Co chcemy przekazac do serwera (zawsze obiekty)
  35.         dataType: "text", //W jakiej formie wysylamy np text lub xml
  36.         success: onSuccess, //Funkcja wywolana po poprawnym odebraniu danych
  37.         error: onError // vv
  38.     })
  39.     function onSuccess(data) {
  40.         console.log(data);
  41.         $.mobile.hidePageLoadingMsg(); //Schowanie graficznego ladowania
  42.     }
  43.     function onError(xhr, error) {
  44.         console.log(xhr.responseText, error);
  45.     }
  46. })
  47. =================================================================================================================================
  48. //Streamer.aspx
  49. =================================================================================================================================
  50. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="streamer.aspx.cs" Inherits="streamer" %>
  51. //Naglowek wczytujacy do strony program z C#
  52. =================================================================================================================================
  53. //Streamer.aspx.cs
  54. =================================================================================================================================
  55. using System;
  56. using System.Collections.Generic;
  57. using System.Linq;
  58. using System.Web;
  59. using System.Web.UI;
  60. using System.Web.UI.WebControls;
  61. using System.IO;
  62. using System.Text;
  63.  
  64. public partial class streamer : System.Web.UI.Page
  65. {
  66.     protected void Page_Load(object sender, EventArgs e) //Wywołane przy każdorazowym wczytaniu strony
  67.     {
  68.         string trasa = Request["trasa"]; //Pobranie obiektu wysłanego przez klienta. W request podajemy nazwe obiektu, ktory chcemy odczytac. Podaje sie go na etapie tworzenia obiektu po stronie klienta czyli przy "var obj={NAZWA:wartosc}"
  69.         if (trasa != null)
  70.         {
  71.             save(trasa); //Zapis trasy
  72.             Response.Write("OK"); //Wysłanie komunikatu
  73.         }
  74.         else
  75.         {
  76.             Response.Write("Null data"); //Wysłanie komunikatu
  77.         }
  78.     }
  79.     private void save(string trasa) //Funkcja zapisująca dane do pliku lokalnego - arg. w postaci ciągu znaków string
  80.     {
  81.         string path = HttpContext.Current.Server.MapPath("pliki/response.log"); //Pobranie pełnej ścieżki dostępo do pliku do zapisu
  82.         StreamWriter w = new StreamWriter(path, true, Encoding.Default); //Inicjacja funkcji zapisującej
  83.         w.WriteLine(trasa + ","); //Dopisanie linijki do pliku
  84.         w.Close(); //Zamknięcie pliku
  85.     }
  86. }
  87. =================================================================================================================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement