diff --git a/app/static/js/app.js b/app/static/js/app.js
index 5f59ee8d84d983ae30885dc589714532e9032953..1aae37199714dbafeb13d3ee939215ea4142f012 100644
--- a/app/static/js/app.js
+++ b/app/static/js/app.js
@@ -145,9 +145,9 @@ document.addEventListener('DOMContentLoaded', function(){
                 return ['const res = await fetch("' + this.BaseUrl + '/translate", {',
                     '	method: "POST",',
                     '	body: JSON.stringify({',
-                    '		q: "' + this.$options.filters.escape(this.inputText) + '",',
-                    '		source: "' + this.$options.filters.escape(this.sourceLang) + '",',
-                    '		target: "' + this.$options.filters.escape(this.targetLang) + '",',
+                    '		q: ' + this.$options.filters.escape(this.inputText) + ',',
+                    '		source: ' + this.$options.filters.escape(this.sourceLang) + ',',
+                    '		target: ' + this.$options.filters.escape(this.targetLang) + ',',
                     '		format: "' + (this.isHtml ? "html" : "text") + '"',
                     '	}),',
                     '	headers: { "Content-Type": "application/json" }',
@@ -167,7 +167,7 @@ document.addEventListener('DOMContentLoaded', function(){
         },
         filters: {
             escape: function(v){
-                return v.replace('"', '\\\"');
+                return JSON.stringify(v);
             },
             highlight: function(v){
                 return Prism.highlight(v, Prism.languages.javascript, 'javascript');
@@ -407,4 +407,4 @@ function setApiKey(){
     localStorage.setItem("api_key", newKey);
 }
 
-// @license-end
\ No newline at end of file
+// @license-end