mirror of
https://github.com/LibreTranslate/LibreTranslate.git
synced 2024-12-24 10:06:43 +02:00
Properly escape data in the request code
It was only escaping the first quote, all other quotes and other characters that require to be escaped (like line breaks) were not being escaped. JSON.stringify is a good function to handle this.
This commit is contained in:
parent
94c27e3645
commit
64ae20e932
@ -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');
|
||||
|
Loading…
Reference in New Issue
Block a user