public
nobgit
read
NobMail
Based on mailcow: dockerized
Languages
Repository composition by tracked source files.
PHP
49%
JavaScript
35%
HTML
9%
CSS
4%
Shell
2%
Python
1%
Lua
0%
Perl
0%
Ruby
0%
SCSS
0%
Create file
Wiki Documentation
Clone
https://nobgit.com/orgs/nobgit/nobmail.git
ssh://[email protected]:2222/orgs/nobgit/nobmail.git
Commit
[Web] Fix JSON parsing issue for api requests
aac0a900
data/web/js/build/011-api.js | 18 +++++++++++-------
1 file changed, 11 insertions(+), 7 deletions(-)
Diff
diff --git a/data/web/js/build/011-api.js b/data/web/js/build/011-api.js
index c657c134..1fe595c6 100644
--- a/data/web/js/build/011-api.js
+++ b/data/web/js/build/011-api.js
@@ -158,9 +158,11 @@ $(document).ready(function() {
var attr_to_merge = $(this).closest("form").serializeObject();
// parse possible JSON Strings
for (var [key, value] of Object.entries(attr_to_merge)) {
- try {
- attr_to_merge[key] = JSON.parse(attr_to_merge[key]);
- } catch {}
+ if (typeof value === "string" && /^[\[\{"].*[\}\]"]$/.test(value.trim())) {
+ try {
+ attr_to_merge[key] = JSON.parse(attr_to_merge[key]);
+ } catch {}
+ }
}
var api_attr = $.extend(api_attr, attr_to_merge)
} else {
@@ -271,9 +273,11 @@ $(document).ready(function() {
var attr_to_merge = $(this).closest("form").serializeObject();
// parse possible JSON Strings
for (var [key, value] of Object.entries(attr_to_merge)) {
- try {
- attr_to_merge[key] = JSON.parse(attr_to_merge[key]);
- } catch {}
+ if (typeof value === "string" && /^[\[\{"].*[\}\]"]$/.test(value.trim())) {
+ try {
+ attr_to_merge[key] = JSON.parse(attr_to_merge[key]);
+ } catch {}
+ }
}
var api_attr = $.extend(api_attr, attr_to_merge)
} else {
@@ -312,7 +316,7 @@ $(document).ready(function() {
var key = localStorage.key(i);
if(/formcache/.test(key)) {
localStorage.removeItem(key);
- }
+ }
}
}
}