praegune kellaaeg 19.04.2024 04:16:33
|
Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
sõnum |
|
kpihus
Kreisi kasutaja
liitunud: 14.04.2003
|
31.07.2014 07:34:46
Symfony2: Formist faili upload, üle ajaxi. |
|
|
Üritan üle ajaksi postitada html vormi sisu, koos failiga, aga fail ei taha serverisse kohale jõuda.
Form on tekitatud symfony enda vahenditega:
$form = $this->createForm(new ProductType($company),$prod,array(
'em'=>$em,
'action'=>$this->generateUrl('save_prod_ajax')
));
|
Vormi postitamisel korjatakse lahtrite väärtused kokku, ning saadetakse ajaxiga serveri poole:
function postForm( $form, callback){
var values = {};
$.each( $form.serializeArray(), function(i, field) {
values[field.name] = field.value;
});
$.ajax({
type : $form.attr( 'method' ),
url : $form.attr( 'action' ),
data : values,
success : function(data) {
callback( data );
}
});
}
|
Ning sertveris majandan jälle vorminga nii nagu symfonys see asi tavaliselt käib.
if($request->isMethod('POST')){
$form->handleRequest($request);
if($form->isValid()){
$product = $form->getData();
$product->setCompany($company);
$product->upload();
$em->persist($product);
$em->flush();
return new JsonResponse('OK');
}
}
|
Probleem on aga selles, et vormi andmetega ei tule kaasa vailitud faili. Täpselt sama vormiga üle naturaalse http ühenduse postitades toimib faili upload ilusto.
Nagu ma aru saan, tuleb ajaxiga faili saatmisel teha postitamist kuidagi teistmoodi, kõik seni proovitud nipid on aga Symfony enda formi käsitlemise loogika katki teinud. See tähendab et vormi kas ei postitata üldse, või siis postitatakse, aga isValid saab vastu hambaid.
|
|
Kommentaarid: 26 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
|
Le Inc
HV Guru
liitunud: 06.09.2002
|
31.07.2014 15:29:22
|
|
|
Kas ajax'iga üldse saab faili saata? Kunagi ka mässasin, aga ei tulnud välja.
|
|
Kommentaarid: 56 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
54 |
|
tagasi üles |
|
|
andrusny
Kreisi kasutaja
liitunud: 20.03.2006
|
31.07.2014 17:22:28
|
|
|
Kindlasti saab aga päris niisama see ei toimi, ise kasutasin mingit JQ form pluginat kui oli vajadus.
Edit: seda http://malsup.com/jquery/form/
_________________
|
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
|
kpihus
Kreisi kasutaja
liitunud: 14.04.2003
|
01.08.2014 06:59:35
|
|
|
Põhimõtteliselt saab ajaxiga faili üles laadida, aga niipalju kui ma neid meetodeid näinud olen, kipivad nad kas olema eraldi jQuery pluginad, või lihtsalt Symfony formist aru saamise katki tegema.
Keegi reaalselt Symfony sees ei ole sellist ülesannet lahendanud ?
|
|
Kommentaarid: 26 loe/lisa |
Kasutajad arvavad: |
|
:: |
0 :: |
1 :: |
25 |
|
tagasi üles |
|
|
|
lisa lemmikuks |
|
|
sa ei või postitada uusi teemasid siia foorumisse sa ei või vastata selle foorumi teemadele sa ei või muuta oma postitusi selles foorumis sa ei või kustutada oma postitusi selles foorumis sa ei või vastata küsitlustele selles foorumis sa ei saa lisada manuseid selles foorumis sa võid manuseid alla laadida selles foorumis
|
|
Hinnavaatlus ei vastuta foorumis tehtud postituste eest.
|