XMLHttpRequest eller jQuery Ajax

C, C++, Pascal, Assembly, Raspberry, Java, Matlab, Python, BASIC, SQL, PHP, etc.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av sodjan »

Om man har som mål att bygga något väldigt generellt med maximalt antal
läsare, så kanske något utan JS är vettigt. Men för något applikationsspecifikt
där det är helt OK att ställa några enkla krav på browsern, och där dynamiska
sidor gör det hela så mycket bättre, så ser jag inte varför man skulle välja
bort JS...
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av Oltronix »

Läckert!

Men trist...
Jag får inte $.ajax(...); eller $.get(...); att fungera. Jag har testat ett antal varianter med olika och ibland förvirrande resultat. Dock fungerar .load(..) tack och lov.
Jag får inte ens exempel nedan att fungera när jag kör det från en lokal file
https://www.w3schools.com/jquery/tryit. ... _ajax_ajax

Sen kan jag undra. Def av .load():

Kod: Markera allt

.load(url[,data][,sucess])
och anrop ser ofta ut som:

Kod: Markera allt

$(document).ready(function(){
    $("button").click(function(){
        $("#div1").load("demo_test.txt", function() { console.log("Load was performed!")});
    });
Man utelämnar en optionell parameter i mitten. Det har jag inte sett förut. Vad kallas sånt? Är det någon sorts overload?
Användarvisningsbild
hawkan
Inlägg: 2585
Blev medlem: 14 augusti 2011, 10:27:40

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av hawkan »

Testade w3schools-exemplet från lokal disk - Det trasslade med att läsa in demo_test.txt. Fungerade inte.
Testade från webservern - fungerar.

Så prova med att lägga html-koden och allt sånt på en webserver.

Gissar att du råkar ut för "cross domain requests" problem om det handlar om en lokal fil som bråkar, men det kan vara annat också.
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av sodjan »

Och med "cross domain requests" menas att man laddar själva webb sidan
från en källa medan ajax anropen pekar någon helt annanstans. Inte alltid
som det godkänns av säkerhetsskäl.

Får det inte heller att fungera från lokal fil. Tanken är nog normalt
att det finns en webb server i bakgrunden...
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av Micke_s »

Att försöka köra saker lokalt är svårt med ajax. typ inte tillåtet...
Du kan dock köra en enkel webserver lokalt..finns små webservrar du inte behöver installera ens..
Användarvisningsbild
sodjan
EF Sponsor
Inlägg: 43148
Blev medlem: 10 maj 2005, 16:29:20
Ort: Söderköping
Kontakt:

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av sodjan »

Det var lite oklart vad option "isLocal" betyder. Jag fick det i alla fall inte att fungera. :-)
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av Oltronix »

hawkan skrev:Så prova med att lägga html-koden och allt sånt på en webserver.
Tack! Nu fungerar det när koden ligger på webservern. Skönt! Jag höll på att smälla av.
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av Oltronix »

Micke_s skrev:Du kan dock köra en enkel webserver lokalt..finns små webservrar du inte behöver installera ens..
Jag brukar köra apache. Men bestämde att inte köra lokal webserver av säkerhetskäl. Kanske löjligt... Webservrar har jag på maskiner som hämtar mätdata och snurrar 24/7. Vad heter de små webservrarna du nämner?
Användarvisningsbild
Micke_s
EF Sponsor
Inlägg: 6741
Blev medlem: 15 december 2005, 21:31:34
Ort: Malmö

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av Micke_s »

http://miniweb.sourceforge.net/
Hela 200kbyte stor..
Användarvisningsbild
hawkan
Inlägg: 2585
Blev medlem: 14 augusti 2011, 10:27:40

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av hawkan »

En egen lokal webserver är nog det bästa.
Fast jag hittade "felet", det behövdes lite hjälp för ajax att veta vad den skulle göra med filen, det var allt.
Lägg till "dataType"-direktivet så fungerar det med lokala filer, åtminstone för mej.

Kod: Markera allt

            $.ajax({dataType: "text",
                    url: "demo_test.txt",
                    success: function(result){
            $("#div1").html(result);
Användarvisningsbild
Oltronix
Inlägg: 408
Blev medlem: 10 december 2011, 21:24:38
Ort: Nynäs

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av Oltronix »

Fint med 'dataType: "text"'! Tack. Detta tyder på att problemet inte är av typ "cross domain requests". Eller?
Intressant att på webserver så spelar existensen av 'dataType: "text"' igen roll.

Även intressant med felutskrifter vid lokalt utan 'dataType: "text"'.
(Felutskriften hittar man i Firefox med F12 alt Ctrl-Shift-i)

Kod: Markera allt

XML Parsing Error: junk after document element
Location: file:///home/erik/Arkiv/projekts/html/Ajax/demo_test.txt   Line Number 2, Column 1:     demo_test.txt:2:1
XML Parsing Error: junk after document element
Location: file:///home/erik/Arkiv/projekts/html/Ajax/w3_ajax.html    Line Number 2, Column 1:     w3_ajax.html:2:1
Varför allt pladder om XML och fixeringen vid rad 2.

Om man istället använder en XML-fil iställt för demo_test.txt så fås annan felutskrift från kod djupt i jQuery-biblioteket.

Kod: Markera allt

TypeError: a is null  [Learn More]  jquery.min.js:2:12998
Nu börjar bitarna falla på plats för mig och osäkerheten vad jag håller på med har minskat även om det inte är noll. Tack för all support. Utan er hade jag inte kommit långt. Att grubbla på saker utan progress och dialog är frusterande. Tack!
Användarvisningsbild
hawkan
Inlägg: 2585
Blev medlem: 14 augusti 2011, 10:27:40

Re: XMLHttpRequest eller jQuery Ajax

Inlägg av hawkan »

Nej det handlar inte om Cross Domain denna gången.
Webservern indentifierar normalt data och skickar med detta i headern t ex "Content-Type: text/html" (som kommer innan den data man ser) och därigenom får den veta att det är text/html. Den biten är "gratis" vid en webserver.

Jag såg också dessa felrader och det var därifrån jag testade med dataType. Det verkar som att data förväntas vara i XML-format av någon anledning. Ja du testade med en XML-fil och det trodde jag nog skulle funkat, men där ser man.

Jag tror ändå att det bästa är att skaffa en liten webserver och jobba via den. Då slipper man denna typen av lite överraskande problem.
Skriv svar