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;
}
我收到错误:[object object],[object object'中的字符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));
}
相关文章:
- ajax请求的顺序总是不同的
- 从ajax请求中获取javascript对象
- Ajax请求文档就绪会导致jquery加载缓慢
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 正在传递JSONP标头's数据参数到另一个文件中的AJAX请求
- JavaScript代码未正确检查ajax请求
- node.js请求数据事件未在CORS ajax调用中触发
- jQuery Ajax GET请求工作不正常
- "日期“;AJAX请求返回的类型值未定义
- Django - 响应请求 AJAX
- 使用 jQuery 的 CORS 请求 - $.ajax()
- 如果无线电值为 ==1,则请求 ajax
- 如何处理对循环中发出的多个异步请求(AJAX 调用)的响应
- POST请求ajax jquery错误
- CasperJS don'我没有请求AJAX
- 使用这种Facebook风格的Lightbox-请求AJAX-在一个页面上覆盖多个按钮
- 400错误请求ajax post请求
- 如何在开始发送请求ajax之前延迟3秒
- 与jQuery同时请求AJAX
- 使用POST请求AJAX发送json对象