2011-04-15 4 views
0

J'essaie d'utiliser la bibliothèque jQuery ajax.jQuery.POST tronquer "données" valeur?

Tout va bien, sauf que les données sont tronquées. Il deviendra seulement <soapenv:Envelope xmlns:soapenv:"http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi (le reste est manquant). Une idée?

//var soap contain as following 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi="http://siebel.com/asi/"><soapenv:Header/><soapenv:Body><asi:SiebelAccountQueryById>  <PrimaryRowId>3-2A2-3235</PrimaryRowId></asi:SiebelAccountQueryById></soapenv:Body></soapenv:Envelope> 

jQuery.ajax({ 
    type: 'POST', 
    url: url, 
    data: soap, 
    success: function() { 
    console.log("success calling web service"); 
    }, 
    dataType: 'xml' 
}); 

nouvelle mise à jour j'ai changé la valeur de savon ci-dessus à ces attributs: xmlns: soapenv xmlns: asi être quelque chose comme 111 = "222" aaa = "bbb"

Il encore être tronqué à DEUX attributs. Si je supprime l'un des attributs, aucun ne sera tronqué, tout le code XML SOAP est envoyé.

+0

Probablement, cela pourrait aider: http://www.bennadel.com/blog/1853-Posting-XML-SOAP-Requests-With-jQuery.htm –

Répondre

1

Essayez d'échapper aux données avant de poster:

jQuery.ajax({ 
    type: 'POST', 
    url: url, 
    data: encodeURIComponent(soap), 
    success: function() { 
    console.log("success calling web service"); 
    }, 
    dataType: 'xml' 
}); 
0

La première chose que je ferais est mis deux d'alerte() popups là-dedans. Un après avoir défini la variable, un lorsque vous appelez la fonction. Découvrez où il a et n'a pas la chaîne complète et continuez à tracer afin que vous puissiez comprendre pourquoi il est tronqué.

+0

Je recommande console.log au lieu d'alertes: http: //getfirebug.com/logging – turtlepick

0

Le lien donné par Majid ci-dessus a résolu mon problème. Les attributs AJAX doivent être définis pour indiquer qu'il s'agit d'un message XML. Ensuite, plus de troncature ne se produit plus

Vous ne savez pas comment accepter cela comme réponse ... car cela fait partie du commentaire.

Questions connexes