2016-04-28 26 views
0

Ich weiß, dass dies eine häufig gestellte Frage ist, aber ich muss wissen, warum das passiert?SyntaxError: Unerwartetes Token V

Ich versuche, zwei verschlüsselte Werte zu meinem Dienst zu analysieren.

Javascript

 var encryptedlogin = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(Email), key, 
       { 
        keySize: 128/8, 
        iv: iv, 
        mode: CryptoJS.mode.CBC, 
        padding: CryptoJS.pad.Pkcs7 
       }); 


       var encryptedpassword = CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(PasswordTwo), key, 
       { 
        keySize: 128/8, 
        iv: iv, 
        mode: CryptoJS.mode.CBC, 
        padding: CryptoJS.pad.Pkcs7 
       }); 


      var c = String(encryptedlogin); 
      var d = String(encryptedpassword); 

      var json = JSON.parse(c); 
      var json1 = JSON.parse(d); 

      $http.get("http://localhost:53101/TruckService.svc/validateUserA/" + json + '|' + json1) 
      .success(function(data) {}); 
      .error(function(data) {}); 

Antwort

0

Versuchen Sie folgendes:

var json = JSON.parse('"' + c + '"'); 
var json1 = JSON.parse('"' + d + '"'); 

JSON-Strings in doppelten Anführungszeichen angegeben werden müssen

Warum Sie es in JSON zu drehen brauchen?

Durch das Aussehen Ihrer Erhaltungs-Anforderung, könnten Sie einfach tun:

$http.get("http://localhost:53101/TruckService.svc/validateUserA/" + encodeURIComponent(c + '|' + d)) 
     .success(function(data) {}); 
     .error(function(data) {}); 

Oder Ihre URL im Format

sein kann
"http://localhost:53101/TruckService.svc/validateUserA/?parameterName=" + encodeURIComponent(c + '|' + d) 
+0

Ich habe aus irgendeinem Grund Probleme, verschlüsselte Werte zu meinem Dienst zu analysieren, also möchte ich es als JSON-Objekt senden. –

+0

das ist mein Fehler: 'GET http: // localhost: 53101/TruckService.svc/validateUserA/VWoK455BEzavGJknGdT0wA ==/KCAMhT0PxC7ehxyhqUR/GA == 404 (nicht gefunden)' –

+0

Sie müssen sie als Parameter übergeben, wie Sie es tun auf die get string. Welche Adresse erwartet Ihre API, da Sie nicht die richtige URL verwenden? Möglicherweise müssen Sie auch Ihre verschlüsselten Daten verschlüsseln (stellen Sie sicher, dass Ihr Dienst sie wieder entschlüsselt). Ich habe die Antwort für das Kodierungsbit aktualisiert – Pete

0

Versuch '/' zu verwenden, anstatt '|'

$http.get("http://localhost:53101/TruckService.svc/validateUserA/" + json + '/' + json1) 
+0

Es ist nicht die Ausgabe überhaupt nicht verändert. Das Problem scheint beim ersten 'json'-Objekt zu beginnen. –

Verwandte Themen