来自 jQuery 序列化的 Safari JSON 错误
Safari JSON error from jQuery serialize
我在 Safari 中遇到了一个奇怪的错误。
提交时: 我正在使用 jQuery.serialize();
序列化我提交的表单数据。
从那里,我使用 AJAX 将它发送到脚本。这在 Chrome 和 Firefox 中效果很好,但 Safari 抱怨 JSON 格式无效。
这里是 .on('submit'...)
函数:
jQuery('form#header-register').on('submit', function(e) {
e.preventDefault();
var userData = jQuery(this).serialize();
jQuery.ajax({
type: "POST",
url: ajaxurl,
dataType: 'json',
data: {"action": "user-register", userData},
success: function(data) {
if(data === 1) {
wpUserLoggedIn = 1;
} else {
console.log(data);
wpUserLoggedIn = 0;
}
}
});
});
来自 Safari 的错误是:
SyntaxError: Unexpected token '}'. Expected a ':' following the property name 'userData'.
此错误导致页面上的其他脚本无法触发。是否有另一种序列化适用于 Safari 的表单数据的方法?
将 action
放在隐藏的表单字段中并通过序列化传递它会更聪明吗?
也许试试:
data: {"action": "user-register", "userData": userData},
因为它抱怨没有看到 :
我想其他浏览器本身也在暗示这一点
我在 Safari 中遇到了一个奇怪的错误。
提交时: 我正在使用 jQuery.serialize();
序列化我提交的表单数据。
从那里,我使用 AJAX 将它发送到脚本。这在 Chrome 和 Firefox 中效果很好,但 Safari 抱怨 JSON 格式无效。
这里是 .on('submit'...)
函数:
jQuery('form#header-register').on('submit', function(e) {
e.preventDefault();
var userData = jQuery(this).serialize();
jQuery.ajax({
type: "POST",
url: ajaxurl,
dataType: 'json',
data: {"action": "user-register", userData},
success: function(data) {
if(data === 1) {
wpUserLoggedIn = 1;
} else {
console.log(data);
wpUserLoggedIn = 0;
}
}
});
});
来自 Safari 的错误是:
SyntaxError: Unexpected token '}'. Expected a ':' following the property name 'userData'.
此错误导致页面上的其他脚本无法触发。是否有另一种序列化适用于 Safari 的表单数据的方法?
将 action
放在隐藏的表单字段中并通过序列化传递它会更聪明吗?
也许试试:
data: {"action": "user-register", "userData": userData},
因为它抱怨没有看到 :
我想其他浏览器本身也在暗示这一点