2009-10-22 19 views
1

J'ai écrit une page web ajax destinée à être utilisée sur ma Wii. Cependant, ajax ne semble pas fonctionner sur le navigateur Opera de la Wii. Cette page fonctionne dans IE, Chrome et FF, mais pas dans Safari ou Opera. Voici mon appel ajax test jQuery:Opera, Wii, Ajax, Jquery et asp.net

$.ajax({ 
    type: "POST", 
    url: "DefaultWebService.asmx/Hello", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { alert(msg.d); }, 
    error: function() { alert("error in DefaultWebService.asmx/Hello"); } 
}); 

Voici mon test méthode de service Web:

[WebMethod] 
public string Hello() 
{ 
    return "hello there"; 
} 

Il n'y a pas d'appels à DefaultWebService.asmx dans mes journaux de serveur Web, de sorte que le navigateur n » t même en essayant de faire la requête ajax.
Y a-t-il des solutions de rechange disponibles pour que cela fonctionne sur la Wii? Merci!

+1

vous donnez l'impression que cela ne fonctionne pas sur l'opéra/safari pour les fenêtres soit ... si oui, ce n'est pas un problème Wii. Voyez-vous ce message d'erreur, ou n'avez-vous rien du tout? – Kip

+0

Pourriez-vous s'il vous plaît poster la sortie que vous obtenez si vous allez directement à DefaultWebService.asmx/Hello? – Kip

+0

Le message d'erreur n'apparaît pas. Aucun message n'est envoyé à "DefaultWebService.asmx/Hello". Je ne peux pas naviguer sur "DefaultWebService.asmx/Hello" sur la Wii. Il me donne juste un écran de mort jaune asp.net typique parce que la méthode web s'attend à ce que la demande soit formatée d'une manière spécifique qui est impossible à faire depuis le navigateur sur la Wii (à ma connaissance). Merci d'avoir regardé. –

Répondre

0

Avez-vous essayé de changer les données affichées? Cela semble similaire (mais évidemment pas identique) à la question affichée ici: jQuery syntax error on POST in Opera

+0

J'ai vu ce post et je doute qu'il s'applique ici. Le problème dans ce cas était qu'un objet javascript était en cours de création avec une clé d'objet non cité. J'essaie de passer un objet vide sans clé. –

0

Pas trop familier avec ASP .. pourrait-il être que vous avez besoin de coder JSON la valeur de retour? Ou est-ce que "[WebMethod]" s'en occupe? Essayez ceci:

return "\"hello there\""; 
+0

[WebMethod] prend en charge le codage JSON de la valeur de retour. –

2

après un mois, j'espère que vous avez trouvé la solution, mais si vous ne l'avez pas, je voudrais aider. J'ai écrit un test assez basique, ceci:

<?php 
    if($_SERVER['REQUEST_METHOD']=='POST'){ 
     echo file_get_contents('php://input'); 
     exit; 
    } 
?> 
    <script src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.js"></script> 
    <script type="text/javascript"> 
    $.ajax({ 
    type: "POST", 
    url: location.href, 
    data: '{"test":"passed" }', 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function(msg) { alert(msg.test); }, 
    error: function() { alert("error while testing"); } 
}); 
    </script> 

mais il ne fonctionne très bien dans les versions Opera je l'ai essayée dans (y compris quelques premières versions 9.x qui pourraient être alignés sur la Wii un - je Je ne suis pas sûr de ce que l'équivalent de bureau le plus proche est si)

+0

(également testé dans 8.54 FWIW) – hallvors