javascript中ajax调用中多个三元运算符的语法

use*_*749 1 javascript ajax jquery ternary-operator

我试图在javascript ajax调用中有一些if语句,我觉得它应该是可能的,也许我的语法错了.我正在尝试创建下面的计划部分:

$.ajax({
                type    :  'POST',
                name    :  'Submitting Request',
                url     :   '/breadcrumbs/crumb',
                dataType: 'json',
                data    : {
                    parameters  : paramsObj,
                    schedule: {       paramsObj.isfirst   ? firstSched
                                    : paramsObj.issecond  ? secondSched
                                    : paramsObj.isthird   ? thirdSched
                              }
                          },
            success  : function(){},
            error   : function(jqXHR, status, error) {}
       });
Run Code Online (Sandbox Code Playgroud)

我一直得到"Uncaught SyntaxError:Unexpected token".围绕这个街区,特别是在日程表行:

             data   : {
                parameters  : paramsObj,
                schedule: {       paramsObj.isfirst    ? firstSched
                                : paramsObj.issecond ? secondSched
                                : paramsObj.isthird ? thirdSched
                          }
                      },
Run Code Online (Sandbox Code Playgroud)

特别是对于时间表,这是我正在尝试使用三元运算符:

if( paramsObj.isfirst === true) { schedule = firstSched}
if( paramsObj.issecond === true){ schedule = secondSched}
if( paramsObj.isthird === true) { schedule = thirdSched}
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么?

Set*_*ers 6

只是相关领域:

schedule: paramsObj.isfirst ? firstSched : 
    paramsObj.issecond ? secondSched :
    paramsObj.isthird ? thirdSched : undefined
Run Code Online (Sandbox Code Playgroud)

完整电话:

$.ajax({
    type: 'POST',
    name: 'Submitting Request',
    url: '/breadcrumbs/crumb',
    dataType: 'json',
    data: {
        parameters: paramsObj,
        schedule: paramsObj.isfirst ? firstSched : 
            paramsObj.issecond ? secondSched :
            paramsObj.isthird ? thirdSched : undefined,
        success: function(){},
        error: function(jqXHR, status, error) {}
   });
Run Code Online (Sandbox Code Playgroud)

注意

正如其他人所指出的那样,链接三元组很难阅读,这可能导致错误和维护问题.我个人不介意链接它们,只要它们按行显示,如图所示,这样它们很容易遵循......