Angenommen, ich bin mir nicht sicher, ob esauthorities
(但如果存在,我希望选择它们)。如果没有选中的authorities
,我希望jQuery选择authorities
s gibt, die überprüft werden, unabhängig davon, ob sie ausgewählt sind (eigentlich bedeutet dies, den Wert der versteckten Eingabe abzurufen). Meine Gedanken zur Verwendung des „wahren Werts“/„falschen Werts“-Konzepts von JS zur Bewältigung dieser Situation sind:
let user = { id: $(this).find('[name=id]').val(), username: $(this).find('[name=username]').val(), password: $(this).find('[name=password]').val(), name: $(this).find('[name=name]').val(), lastName: $(this).find('[name=lastName]').val(), department: $(this).find('[name=department]').val(), salary: $(this).find('[name=salary]').val(), age: $(this).find('[name=age]').val(), email: $(this).find('[name=email]').val(), enabledByte: $(this).find('[name=enabledByte]').val(), authorities: JSON.parse($(this).find('[name=authorities]:checked').val()) || JSON.parse($(this).find('[name=authorities]').val()) };
Es funktioniert jedoch nicht. Interessanterweise funktioniert es im folgenden Codeausschnitt. Könnte es sein, dassval()
在匹配失败时返回的undefined
不是“假值”吗?想想看!我最好的猜测是,当解析undefined
时,JSON.parse()
einen Fehler auslöst, anstatt einen „falschen Wert“ zurückzugeben, was ich hoffe. Diese Methode akzeptiert kein „param OR param“, oder?
Wie sollte ich Ihrer Meinung nach einen Fallbackfür diese Situation bereitstellen (außer natürlich, den „falschen Wert“ der ausgewähltenauthorities
einzeln zu überprüfen, was für meinen Geschmack etwas ausführlich ist)?
<头>
<元字符集=“utf-8”>
<标题>
Verwaltungsseite
标题>
元字符集=“utf-8”>
头>
<正文>
<标题>标题>
Name
Nachname
Abteilung
E-Mail
<正文>正文>
Füllen Sie das Formular aus
<表格>
<标签=“名称”>
Name:
标签=“名称”>
表格>
<脚本>
$(document).ready(function() { $('form').on('submit', asynchrone Funktion (Ereignis) { event.preventDefault(); $('tbody').append( `
脚本>
Beliebte Themen
Mehr>
Populäre Artikel
-
-
-
-
-
Beliebte Tutorials
Mehr>
-
-
php入门教程之一周学会PHP
4206751
-
JAVA 初级入门视频教程
2351456
-
Über uns
Haftungsausschluss
Sitemap
-
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!
John
US-Energieministerium
ES
john_d@gmail.com
Jane
US-Energieministerium
Personalwesen
jane_d@gmail.com
${$(this).find('[name=name]').val()}
${$(this).find('[name=last-name]').val()}
${$(this).find('[name=Abteilung]').val()}
${$(this).find('[name=email]').val() || 'Nicht zutreffend'}
` ); const SubmitButton = $(this).find('[type=submit]'); Konstante Form = $(this); Senden button.removeClass('btn-primary') .addClass('btn-success') .attr('value', 'Benutzer wurde hinzugefügt!') .attr('type', 'button') .click(() => $('[href="#users-table"]').tab('show')); setTimeout(function(){ commitButton.removeClass('btn-success') .addClass('btn-primary') .attr('value', 'submit') .attr('Typ
正文>
问题在于如果选择器找不到任何匹配项,
.val()
返回undefined
,而JSON.parse(undefined)
会引发异常。在
JSON.parse()
的参数列表中执行备用方案,这样您将解析成功获取的任何值。根据您的使用情况,您有几个选项:
JSON.parse
。这将使它在解析之前回退到其他字符串,因此如果第一个值是undefined
,它不会出错。但是,如果两个值都是undefined
或其中一个是无效的JSON,这将导致错误。undefined
,您可以回退到null
。null
是一个有效的JSON值,可以解析。但是,如果任何一个值是无效的JSON,仍然会出错。