J’essaie d’afficher des données dans un Handsontable à partir d’un service WCF compatible AJAX mais cela ne montre rien.
CarsService.svc: [DataContract] public class Car { [DataMember] public ssortingng Name { get; set; } [DataMember] public ssortingng Year { get; set; } } [ServiceContract(Namespace = "")] [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)] public class CarsService { [OperationContract] [WebGet(ResponseFormat = WebMessageFormat.Json)] public IEnumerable GetCars() { var cars = new List(); var car1 = new Car() { Name = "Kia", Year = "2008" }; var car2 = new Car() { Name = "Nissan", Year = "2009" }; cars.Add(car1); cars.Add(car2); return cars; } } WebPage:
“Il semble que votre message soit principalement du code; veuillez append quelques détails supplémentaires.” Si quelqu’un pense que cette erreur de Stackoverflow est correcte, merci de poster une réponse et j’expliquerai davantage.
Ce qui suit fonctionne pour moi:
J’utilise Json.net de newtonsoft: http://json.codeplex.com/
Le contrat de service:
[WebInvoke(Method = "GET")] [OperationContract] ssortingng GetAllData();
le service wcf renvoie:
return JsonConvert.SerializeObject(data);
et le javascript … (‘data’ est ce qui est renvoyé par mon appel Ajax)
var myData = JSON.parse(data.d); var config = { data: myData, columns: [ //I had to set 'data' of each column { data: "OtherParty" }, { data: "Reference" } ] }; $container.handsontable(config);
J’espère que ceci est utile
EncryptionUtils
import java.security.Security; import javax.crypto.Cipher; import javax.crypto.SecretKey; import javax.crypto.SecretKeyFactory; import javax.crypto.spec.PBEParameterSpec; import sun.misc.BASE64Decoder; public class EncryptionUtils { private Cipher decryptCipher; private BASE64Decoder decoder = new BASE64Decoder(); public EncryptionUtils() throws SecurityException { Security.addProvider(new com.sun.crypto.provider.SunJCE()); char[] pass = "edurixkey".toCharArray(); byte[] salt = { -93, 33, 36, 44, -14, -46, 62, 25 }; int iterations = 3; init(pass, salt, iterations); } public void init(char[] pass, byte[] salt, int iterations) throws SecurityException { try { PBEParameterSpec ps = new PBEParameterSpec(salt, 20); SecretKeyFactory kf = SecretKeyFactory.getInstance("PBEWithMD5AndDES"); SecretKey k = kf.generateSecret(new javax.crypto.spec.PBEKeySpec(pass)); decryptCipher = Cipher.getInstance("PBEWithMD5AndDES/CBC/PKCS5Padding"); decryptCipher.init(2, k, ps); } catch (Exception e) { throw new SecurityException("Could not initialize Encryption: " + e.getMessage()); } } public synchronized Ssortingng decrypt(Ssortingng str) throws SecurityException { try { byte[] dec = decoder.decodeBuffer(str); byte[] utf8 = decryptCipher.doFinal(dec); return new Ssortingng(utf8, "UTF8"); } catch (Exception e) { throw new SecurityException("Could not decrypt: " + e.getMessage()); } } }