Question

Comment est le symbole & traité dans la requête suivante dans oData?

/vendordataservice.svc/vDataMapper_SourceMapVendor?&$filter=startswith(ParentName,'AT&T')&$top=7&$skip=0

J'utilise EF3.5 et SQL2008. Quand je l'enverrai à mon service oData je reçois pas de retour de données.

Était-ce utile?

La solution 2

Voici une liste de caractères qui doivent être encodées avant d'envoyer au serveur SQL sur HTTP:

http://msdn.microsoft.com/en-us/library/aa226544 (SQL.80) .aspx

Oui, le symbole '&' est l'un d'entre eux.

Autres conseils

  

Ne pas utiliser le « JavaScript chaîne de remplacement () Méthode ». Il remplacera la première occurrence des caractères spéciaux. si vous avez 2 occurence des mêmes caractères spéciaux dans le paramètre de filtrage, il échouera. Il faut donc utiliser l'expression régulière pour remplacer les caractères.

function replaceSpecialCharacters(attribute) {
  // replace the single quotes
     attribute = attribute.replace(/'/g, "''");

     attribute = attribute.replace(/%/g, "%25");
     attribute = attribute.replace(/\+/g, "%2B");
     attribute = attribute.replace(/\//g, "%2F");
     attribute = attribute.replace(/\?/g, "%3F");

     attribute = attribute.replace(/#/g, "%23");
     attribute = attribute.replace(/&/g, "%26");
     return attribute;
}

Regardez également, puisque les remplacements contient également % % alors elle-même doit être remplacé au début

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top