.ajax не вызывает файл CFC для публикации данных

Я не могу получить вызов jQuery .ajax для публикации данных в моем CFC, не уверен, что мне не хватает. Перепробовал много разных исправлений, ничего не работает.

$('.addItem').click(function(){

    //data from button clicked  

    var fType = $(this).attr('id');

    $.ajax({
        type: "post",
        url: "api.cfc",
        dataType: 'json',
        data: { method: "add", ID: fType }    
    });
)};

CFC

<cfcomponent >
      <cffunction name="add" access="remote " returntype="string">
      <cfargument name="ID" type="string" required="true" />

         <cfquery datasource="dev" name="formT">
            Insert into formMap (num, stuff)
            Values (1, #arguments.ID#)
         </cfquery>

  </cffunction>
 </cfcomponent>

1 ответ

Я считаю, что вам нужно добавить имя метода в URL:

$('.addItem').click(function(){ 


//data from button clicked   

var fType = $(this).attr('id'); 

$.ajax({ 
    type: "post", 
    url: "api.cfc?method=add", 
    dataType: 'json', 
    data: { ID: fType }      
)}; 

Вам также нужно десериализовать серверную часть json в объект /var для чтения значений.

<cfcomponent >     
      <cffunction name="add" access="remote " returntype="string">     
      <cfargument name="theJson" required="true" />     

        <cfset json = deserializeJson(theJson)> 

         <cfquery datasource="dev" name="formT">     
            Insert into formMap (num, stuff)     
            Values (1, #json.ID#)     
         </cfquery>     

  </cffunction>     
 </cfcomponent> 
Другие вопросы по тегам