2010-08-13 7 views
0

J'utilise XAMPP + WINDOWS pour développer mon prototype.jQuery - Comment obtenir la chaîne JSON plutôt que le résultat HTML après la soumission du formulaire

J'ai conçu un formulaire qui utilise jQuery Form Plugin pour effectuer la soumission de formulaire.

Lorsque le formulaire ne comprend pas de champ FILE, la valeur de retour ressemble à:

{"success":false,"msg":"incorrect-captcha-sol"} which is jason string. 

Cependant, après que j'ajouter un fichier dans la forme, je reçois toujours qqch comme

<head></head><body>{"filesize":181,"success":false,"msg":"incorrect-captcha-sol"}<div firebugversion="1.5.4" style="display: none;" id="_firebugConsole"></div></body> 

J'ai besoin d'obtenir les informations de taille de fichier du serveur afin que je puisse appliquer la règle de validation sur le fichier téléchargé. Maintenant les résultats de retour semblent désordonnés et est-ce là que je peux obtenir la chaîne JSON à la place?

Merci

var options = { << client script 
    target:  '#output', // target element(s) to be updated with server response 
    beforeSubmit: showRequest, // pre-submit callback 
    success:  showResponse, // post-submit callback 
    url:   'recaptcha.php' // override for form's 'action' attribute 
}; 
$('#myform').submit(function() { 
    $(this).ajaxSubmit(options); 
    return false; 
}); 


    $results['success'] = true; << server script snippet 
    $results['msg'] = 'Success, you may proceed!'; 
    echo json_encode($results); 

Répondre

0

Tout est bon pour être honnête. Les deux résultats sont JSON, mais le second (en utilisant le champ FILE) est enveloppé dans les balises de document. En apparence, Firebug joue avec vos résultats. En effet, AJAX ne prend pas en charge les téléchargements de fichiers. Si vous devez effectuer des téléchargements via AJAX, vous devrez utiliser un script tel que Uploadify ou SWFUpload avec jQuery.

Bonne chance!

+0

Bonjour BigRossLabs, Merci pour vos commentaires. J'ai quelques questions suivies comme suit. J'utilise jQuery Form Plugin pour soumettre mon formulaire. Jusqu'à présent, il peut télécharger le fichier sur le serveur sans problèmes. Est-il plausible que j'analyse la chaîne de retour. Par exemple, { "taille du fichier": 181, "succès": false, "msg": "incorrecte captcha-sol"}

je dois extraire { "taille du fichier": 181, "succès" : false, "msg": "incorrect-captcha-sol"}, puis convertissez-le en JSON. Est-ce que cette méthode a du sens pour vous? – q0987

+0

Q2> Je dois soumettre à la fois les éléments de formulaire réguliers et le fichier FILE. Est-ce plausible d'utiliser Uploadify pour tout faire? Je vous remercie – q0987

Questions connexes