[英]Sending Ajax Request with PhantomJS to a local ColdFusion server
[英]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.