JQuery Ajax ne fonctionne pas dans IE10
Fond
Je veux soumettre un formulaire, rester sur la même page & obtenir la réponse.
Ci-dessous, le code fonctionne parfaitement dans Chrome, Safari & Firefox. Cependant Il ne fonctionne pas dans IE10.
Comment le faire fonctionner dans IE10?
Mon Analyse de l'exactitude="douteuse"
Dans IE10, $('#amazonUpload').ajaxSubmit(options)
est exécuté, cependant, Aucune requête Ajax est reçu sur le Serveur, donc la réponse n'est jamais parvenue au client.
HTML
<form action="https://s3.amazonaws.com/adminportal" enctype="multipart/form-data" id="amazonUpload" method="post">
<input name="key" type="hidden" value="001e0000009vkRLAAY/Forms/${filename}" />
<input name="AWSAccessKeyId" type="hidden" value="client aws key" />
<input name="policy" type="hidden" value="really long string" />
<input name="signature" type="hidden" value="sign value=" />
<input name="acl" type="hidden" value="private" />
<input name="Content-Type" type="hidden" value="application/octet-stream"/>
<div id="uploadPage:block:j_id31"><div class="pbSubsection">
<input id="uploadfileOne" name="file" required="True" size="25" type="file" />
<input class="btn" id="myBtnId55" name="myBtnId55" onclick="uploadActComplete();" style="display:none;" type="button" value="Upload" />
</form>
JavaScript
function uploadActComplete(){
loading();
var options = {
// error: errorResponse,
// success: successResponse,
complete: function(xhr, status) {
alert('status is :- '+status );
if(status =='success')
successResponse(xhr, status);
else if(status =='error')
errorResponse(xhr, status);
}
};
$('#amazonUpload').ajaxSubmit(options);
return false;
}
function errorResponse(xhr, status) {
stoploading();
alert('File could not be uploaded, please try again.');
}
function successResponse(xhr, status) {
stoploading();
$("input[id$='invisiblesubmit']").click();
}
essayez ceci sur <head> <meta http-equiv="x-ua-compatible" content="IE=9" >
est le statut de la demande en attente dans l'onglet réseau des outils de dev?
est le statut de la demande en attente dans l'onglet réseau des outils de dev?
OriginalL'auteur Ganesh Bhosle | 2013-09-12
Vous devez vous connecter pour publier un commentaire.
J'ai essayé de reproduction de votre code sur mon système. et il fonctionne comme un charme..
j'ai utilisé à la suite d'fichiers jquery pour atteindre le dessus de la fonctionnalité.
Veuillez vérifier si vous êtes à l'utilisation correcte des fichiers jquery.
J'ai aussi essayé de poster un fichier local et ajax demande a été correctement reçu.
OriginalL'auteur Sunil Verma
Avez-vous essayé?
Plus d'infos ici: http://code.gishan.net/code/solution-to-ie10-ajax-problem/
@Daniel Schwarz, a également répondu. 🙂
OriginalL'auteur TheAshwaniK
Essayez d'ajouter une balise meta à l'intérieur de la balise head de votre page qui a fonctionné pour moi:-
IE10 fonctionne comme IE9
OriginalL'auteur amrinder007
Utiliser un violon pour analyser vos appels ajax - je vais vous dire si l'appel a été fait ou pas pour vous.
OriginalL'auteur Dave Hilditch
J'ai fait face à la même situation avec IE 10. Dans la suite de la demande avec aucun changement dans le paramètre n'est pas envoyé au serveur & considéré comme mis en cache.
La solution dans mon cas était de renvoyer une
Cache-Control: no-cache
en-tête de votre serveur. Il fournit un produit de nettoyage de la séparation des préoccupations.Dans ASP.Net j'ai besoin d'ajouter
Ou
OU
Il a résolu le problème.
OriginalL'auteur Pranav Singh
Un suivi de @amrinder007 réponse, vous pouvez essayer cette légère variation
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE9">
D'autre il y a d'autres options qui pourraient travailler:
OriginalL'auteur Daniel Schwarz
Vous pourriez ajouter un horodatage à la fin de l'URL demandée comme un paramètre GET. C'est de cette façon que j'ai eu autour de la mise en cache d'IE.
OriginalL'auteur Nick
Les plus gros problèmes que j'ai trouvé avec IE 10+ est la version de JQuery que vous utilisez.
Puisque vous n'avez pas dit que la version que vous utilisez, vous devez vérifier que vous utilisez JQuery 2.X version.
Le Jquery 1.X Branche est pour les Navigateurs IE version 8 ou moins.
Le JQuery 2.X branche est pour IE9+ navigateurs, Chrome et FF. Je n'ai pas essayé avec Safari.
Également vérifier que la version de Jquery Formes que vous utilisez est compatible avec JQuery 2.x
Pour plus d'informations, lisez les informations sur le JQuery, page de téléchargement à jquery.com/download
OriginalL'auteur QuadRunner