WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Ajax/jQuery posta multipart form och ta emot svar (https://www.wn.se/forum/showthread.php?t=38542)

_Michael_ 2009-08-17 19:51

Hej alla!

Behöver en lösning på följande:

Har ett formulär där jag laddar upp en fil(bild).
Från skriptet jag anropar får jag sedan ett svar som jag vill behandla med javascript.

Det jag helst vill göra är att använda Ajax men hur gör jag det när jag vill ha med en fil (går det ens?)

Därefter har jag letat efter andra sätt men inte lyckats med något :(

Använder jQuery på resten av sidan.

PHREDATOR 2009-08-17 20:27

Du kanske skulle kolla på ett "ajax uppladdnings plugin" till jQuery. Jag kan starkt rekommendera uploadify (www.uploadify.com)

På min blogg så har jag en screencast om hur man snabbt kommer igång med det tillsammans med asp.net, när du laddar hema uploadify så finns det exempel som använder php.

Lycka till

allstars 2009-08-17 20:29

google is the shit

Jonas 2009-08-18 13:44

Kort o gott som svar på din fråga.

AJAX + Filuppladdning != SANT

Javascript har inte denna möjligheten. Det som krävs är fullösningar med gömda iframes hit o dit.

Och på den vägen är det.

_Michael_ 2009-08-21 17:57

Citat:

Originally posted by Jonas@Aug 18 2009, 13:44
Kort o gott som svar på din fråga.

AJAX + Filuppladdning != SANT

Javascript har inte denna möjligheten. Det som krävs är fullösningar med gömda iframes hit o dit.

Och på den vägen är det.

Precis, var i de banorna jag tänkte. Funderade över iframes (Känns gammalt men något kanske de är bra till trots allt ;)) körde dock fast och kom inte på någon lösning där.
Vill dock inte använda flash som vissa av varianterna gör.
Inser nu också att jag glömde att nämna att det ska skickas över annan domän, något som krånglar till det med Js en hel del.
En metod är väl att posta till ett eget php-skript och köra cUrl men det känns inte speciellt attraktivt att behöva skickar all data två gånger...

Tack för svaren hittills :)

Hjalmarsson 2009-08-22 00:43

Om inte minnet sviker mig helt nu och jag har drömt för mycket så går "bara" crossdomain med JSON.

Som sagt får gärna rätta mig om jag har fel.. men någoting i bakhuvet säger mig ändå det. :)

Jonas 2009-08-22 01:45

Citat:

Originally posted by Hjalmarsson@Aug 22 2009, 00:43
Om inte minnet sviker mig helt nu och jag har drömt för mycket så går bara crossdomain med JSON.
Som sagt får gärna rätta mig om jag har fel.. men någoting i bakhuvet säger mig ändå det.


Njae, du kan LÄSA in json/xml/<you name it> mm via JS... Du kan inte SKICKA data med AJAX till en annan domän.

_Michael_ 2009-08-22 10:29

Men om man då postar formuläret till en (gömd) iframe, då har man ju iallafall skickat ;)
Borde man då inte på något kunna få ut innehållet i iframen? Kommer dock inte på något bratillvägagångssätt där.

stakes 2009-08-22 18:32

Citat:

Ursprungligen postat av Jonas
Citat:

Ursprungligen postat av Hjalmarsson
Om inte minnet sviker mig helt nu och jag har drömt för mycket så går bara crossdomain med JSON.
Som sagt får gärna rätta mig om jag har fel.. men någoting i bakhuvet säger mig ändå det. *



Njae, du kan LÄSA in json/xml/<you name it> mm via JS... Du kan inte SKICKA data med AJAX till en annan domän.

AJAX/XHR fungerar inte cross-domain oavsett om du skickar eller tar emot data. För att lösa detta problem kan man t.ex använda sig av en metodik kallad JSONP.

znap 2009-08-23 15:48

Citat:

Originally posted by _Michael_@Aug 22 2009, 10:29
Men om man då postar formuläret till en (gömd) iframe, då har man ju iallafall skickat
Borde man då inte på något kunna få ut innehållet i iframen? Kommer dock inte på något bratillvägagångssätt där.

Du kan från iframen exekvera metoder på modersidan, förutsatt att modersidan har samma domännamn som sidan i iframen. Alltså skulle du kunne göra något i stil med följande:

Kod:

<?
 if(count($_FILES) > 0)
 {
 ...
 ?>
<script>
 window.top.showImageFromIframe('<?php echo $file_name ?>');
</script>
<?php
 }
?>

// Vic


Alla tider är GMT +2. Klockan är nu 00:51.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson