2012-02-02 3 views
1

Mon service Web appel retourne cela en data1jquery méthode web ajax fonctionne mais incapable d'utiliser les données

"{"d":"PCIS Follow Add ID and Codes when printed"}" 

Je learne que lorsque vous utilisez jquery avec asp.net je dois utiliser data1.d

Cependant, lorsque j'essaye de faire l'alerte (data.d);

je reçois non défini retourné, même si la valeur data.d montre que

"{"d":"PCIS Follow Add ID and Codes when printed"}" 

des idées sur la façon dont je peux utiliser ces informations

le service Web doit être retourne une chaîne de

$.ajax({ 
       type: "POST", 
       url: "Services/WorkService.asmx/WorkDescription", 
       data: "{'workUnitId' : '" + $("option:selected", $(dropdown)).text() + "','id': '" + combobox.val() + "'}", 
       contentType: "application/json; charset=utf-8", 
       dataType:"json", 
       success: function(data1) { 
       var jsObject = JSON.parse(data1.d); 
      alert(jsObject);     
combobox.attr("_tooltip", data1.d);  
       }  
      }); 
     }, 
+0

sera mieux si vous nous postez votre appel webservice en utilisant jquery – Devjosh

+0

i ajouté l'exemple de service Web –

+0

s'il vous plaît vérifier votre chaîne JSON retournée par l'appel webservice en utilisant http: // www. jsonlint.com ou tout autre validateur json. vous pouvez trouver le json dans les panneaux net de mozilla firebug onglet xhr – Devjosh

Répondre

4

vous devez définir json comme dataType

dataType:"json", 

parce que si vous spécifiez text jQuery n'analysera pas la réponse (si vous spécifiez json appelle jQuery $.parseJSON() sur la réponse)

Regardez ma réponse à cette question Why is 'jQuery.parseJSON' not necessary?

EDIT votre serveur doit retourner

{"d":"PCIS Follow Add ID and Codes when printed"} 

withouth le début et de fin "

+0

problème est que je viens de le changer en texte il était json avant et ne fonctionnait pas –

+0

@bugz si vous appelez juste 'alert (data1)' qu'obtenez-vous? –

+0

@bugz j'ai édité ma réponse, peut-être avant qu'il ne fonctionne pas parce qu'il n'était pas valide json –

0

Essayez ceci:

<script> 
var jsObject = JSON.parse('{"hello":"world"}'); 
alert(jsObject.hello); 
</script> 
Questions connexes