![](/img/trans.png)
[英]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.