簡體   English   中英

ColdFusion中的AJAX請求

[英]AJAX request in ColdFusion

如何在ColdFusion中提出AJAX請求?

我有我的JavaScript:

function getdata(){
    var formElements=document.getElementById("CFForm_1").elements;    
    var data=[];
    for (var i=0; i<formElements.length; i++){
        if(formElements[i].name == 'customersid')
            data.push({'customersid':document.getElementById("customersid").value});
        if(formElements[i].name == 'customerstoid')
            data.push({'customerstoid':document.getElementById("customerstoid").value});
    }

    $.ajax(
    {
        type: "get",
        url: "components/BillingCalc.cfc",
        data: {
                method:"ajaxGetTotalCost",
                data: data.join()
            },
        dataType: "json",
        success: function( objResponse ){

        }
    });
  }

我的組件:

component displayName="Calc" {

remote function ajaxGetTotalCost(data){
    data = deserializeJSON(arguments.data);
    WriteDump(data); abort;
}

我收到錯誤消息:[對象對象],[對象對象]中字符2:'o'處的JSON解析失敗有人知道如何在CF中執行AJAX請求嗎?

該功能:

remote function ajaxGetTotalCost(data){
data = deserializeJSON(arguments.data);
WriteDump(data); abort;
}

不完整。 在這個階段,您必須從ColdFusion頁面調用它,而不是使用javascript。 這將使您能夠查看writedump(data)命令的結果以確保它符合您的期望。 您必須向該函數添加更多代碼,以使其產生javascript可接收的變量,然后將該變量返回給調用該函數的對象。

問題與您通過$.ajax()方法傳遞的dataType屬性有關。 dataType: "json"表示您的AJAX請求需要JSON數據作為響應。 但是在您的情況下,您只是返回反序列化JSON的DUMP ,這是HTML而不是JSON 因此,如果您希望它正常運行,則需要從ColdFusion函數返回JSON數據。 您可以嘗試一下,看看是否可行。

remote function ajaxGetTotalCost(data){
   data = deserializeJSON(arguments.data);
   return serializeJSON(data));
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM