2014-11-20 45 views
0

我正在使用cfwheels框架在Coldfusion中進行開發。我試圖驗證(通過AJAX)用戶是否已提交表單,需要先登錄用戶的安全頁面前登錄。我的AJAX看起來像這樣cfwheels返回被註釋掉的JSON

function viewOnWebsite() 
{ 
    params = { 
     format: "json" 
     , domain: '.#page.domain#' 
    }; 

    $.ajax({ 
     url: '/user/login' 
     , data: params 
     , dataType: 'json' 
     , type: 'POST' 
     , success: function(result, status, jqXHR){ 
      if(result) 
      { 
       $('##frmViewOnWeb').submit(); 
      } 
      else 
      { 
       alert('could not validate access to the website. You can try to refresh the page or log in'); 
      } 
     } 
     , error: function(jqXHR, status, error){ 
      alert(status); 
      console.log(error); 
     } 
    }); 
} 

這裏是控制器(你需要看到的部分)

<cfcomponent extends="Controller"> 
     <cffunction name="init"> 
      <cfset provides("html,json")> 
     </cffunction> 
    <cffunction name="login"><cfscript> 


     validationFunctionThatRedirectsInvalidUsers(true, 18); 

      /* Check to see if the authtoken still exists in the db. */ 
      if(tokenIsValid(session.user.aToken)) 
      { 
       response = {valid = "true"}; 
      } 
      else 
      { 
       /* Create a new token */ 
       application.user.notImportantCode(); 

       /* Set the cookie */ 
       cookie.somethingYouDontNeedToKnow = { 
        value = session.user.aToken 
        , domain = params.domain 
       }; 

       response = {valid = "true"}; 
      } 

      renderWith(data = response, returnAs = "json"); 
     </cfscript></cffunction> 

請原諒我這段代碼的sl iness。

奇怪的是,從這個功能我的回答是給我註釋掉JSON字符串,看起來像這樣:

//{"valid":true} 

的Chrome,Firefox和IE瀏覽器無法解析這個(沒有嘗試過野生動物園)。任何幫助表示讚賞。

另外,如果函數是成功的,則結束遊戲將返回true,否則返回false。因此我想設置對true或false的響應,而不是像我目前所具有的結構。我真的只是想的事情了,因爲當我僅返回True我得到一個JSON字符串是這樣的:

//{true} 

回答

1

最有可能的前綴序列化JSON以「//」在CF管理員或的Application.cfc啓用。

http://www.petefreitag.com/item/720.cfm

+0

謝謝,雖然我覺得現在有點傻。這是一個非常簡單的答案。我知道這將是一件容易的事情 – 2014-11-21 13:32:42