2017-10-29 53 views
0

是否可以在CFIF語句中使用response.DATA [i] [j]。在CFIF中使用JSON響應

chkUsernameUnique = function(theUsername){ 
    $.ajax({ 
    type: "GET", 
    url: "/book.cfc", 
    data: {method: "testFunction", datum: $('#date').val(), returnFormat: "JSON"}, 
    dataType: "json", 
    success: function(response) { 
    var str = '<table><tr>'; 
    var i; 
    var j; 

    //loop over each column name for headers 
    for (i = 0; i < response.COLUMNS.length; i++) { 
      str += '<th>' + response.COLUMNS[i] + '</th>'; 
     } 

    str += '</tr>'; 

    //loop over each row 
    for (i = 0; i < response.DATA.length; i++) { 
     str += '<tr>'; 
     //loop over each column 
     for (j = 0; j < response.DATA[i].length; j++) { 
      str += '<td>' + response.DATA[i][j] + '</td>'; 
     } 
     str += '</tr>'; 
    } 
    str += '</table>'; 

    $('#debugDiv').html(str); 
}, 
error: function(ErrorMsg) { 
    console.log('Error'); 
} 
}); 
} 

我想要做的是一樣的東西:

<cfif response.DATA[i][j] is 3> str += '<td>test</td>';</cfif>

這將返回以下錯誤信息:變量[RESPONSE]不存在。

回答

1

response變量是您的AJAX請求的服務器響應,您正在使用它在客戶端。 (瀏覽器之後請求的URI)

if (response.DATA[i][j] == 3) { str += '<td>test</td>'; } 

ColdFusion的(即<cfif>)是在服務器端執行的,因此不能用於在運行時期間來評估數據:因此你仍然在JavaScript的境界。