2011-05-12 6 views
3

$ .ajax fonctionne pas correctement en utilisant le cadre mobile jquery ...

il nous laisse Downoad tout fichier html ....

si l'on veut appeler 'ActionMethod' il ne travaille pas:

$.ajax({ 
    url:'Home/CallMe', 
    success: function(result) { 
    alert(result); 
    } // edited 
}); 

il bloque le système ...

J'utilise iPhone Emulator pour les tests ....

Quelqu'un peut-il me dire pourquoi ci-dessus ne fonctionne pas et pourquoi ci-dessous fonctionne tout en utilisant jquery mobile framework?

$
.ajax({ 
     url:'htmlFile.htm', 
     success: function(result) { 
     alert(result); 
     } // this line is edited later 

    }); 

Modifié: Une autre chose que je veux vous dire est que je suis en utilisant ASP.NET MVC ...

Modifié: Un exemple le plus simple de méthode d'action que vous pouvez essayer est:

public JsonResult CallMe() 
{ 
    return Json("I'm your response"); 
} 

[HttpPost] peut également être appliqué, je f vous voulez ...

+0

essayez d'utiliser '$ .get', c'est plus facile. – naugtur

+0

Qu'est-ce que google mobile? – naugtur

+0

oh désolé .... jquery mobile ... –

Répondre

5

Votre syntaxe est incorrecte votre manque un }

$.ajax({ 
    url:'controller/action', 
    success: function(result) { 
    alert(result); 
    } // <-- add this 
}); 
2

Hmm, je l'ai utilisé AJAX comme celui-ci sans problème avec JQM. Je ne sais pas si vous devez vraiment déclarer un type dans l'appel, mais je le fais dans mon exemple.

$.ajax({ 
    url: 'request.php?page=foo', 
    type: 'GET', 
    error : function(){ document.title='error'; }, 
    success: function (data) { 
     $('#ajax_content').html(data); 
    } 
}); 

aussi vous pouvez ajouter le type de données pour une réponse JSON ainsi

$.ajax({ 
    url: 'request.php?page=foo', 
    type: 'GET', 
    dataType: 'json', 
    error : function(){ document.title='error'; }, 
    success: function (data) { 
     alert(data); 
    } 
}); 
+0

connecté à internet ... ??? –

+0

oui, j'ai vu des exemples où la requête ajax frappait une URL externe qui, sans connexion internet, a échoué. –

+1

pourrait être liée: http://stackoverflow.com/questions/1496550/jquery-ajax-request-not-working-on-iphone-device-browser –

0

Il est peut-être un ancien poste, mais pour le faire fonctionner à partir JQM - vous devez utiliser jsonp au lieu de JSON en raison de problèmes inter-domaines.

0

Limitations connues

L'environnement non standard créé par le modèle de navigation de page de jQuery Mobile présente certaines conditions pour lesquelles vous devriez être au courant lorsque les pages construction:

Lors de la liaison aux répertoires, sans URL de nom de fichier , (comme href = "typesofcats /" au lieu de href = "typesofcats/index.html"), vous devez fournir une barre oblique finale. C'est parce que jQuery Mobile suppose que la section après le dernier caractère "/" dans un URL est un nom de fichier, et il supprimera cette section lors de la création des URL de base à partir desquelles les pages futures seront référencées.

http://demos.jquerymobile.com/1.0a4.1/docs/pages/docs-navmodel.html

0

eu le même problème avec l'appel Ajax jQuery. Sur pc fonctionnait mais sur les appareils mobiles m'a donné à chaque fois 403 interdit, sans explication. Le type: 'GET', a sauvé ma journée!

Merci Phill.