我已经尝试了很多不同的选项来在不使用 jquery 的情况下将 json 数据发送到 cfc,我的问题是如何使用 XMLHttpRequest() 而不是 $.ajax 来完成?它将请求发送到 CFC,但我无法将任何变量传递给它一直说“FORMDATA”(我没有传入)的 cfc,我有一个名为表单数据的变量。我能够让它工作的唯一方法是使用新的 formData() 对象,但我需要它在 IE 8 和 9 中工作?
<cfcomponent>
<cffunction name="validate" access="remote" >
<cfargument name="formdata" required="true" type="string"/>
<!--- <cfif isJSON(arguments.formdata)>
<cfset values = deserializeJSON(arguments.formdata)>
</cfif> --->
<cfdump var="#variables#">
<cfdump var="#arguments#">
<cfreturn { STATUS = 200, MESSAGE = "data recieved"}>
</cffunction>
</cfcomponent>
这是我的 javascript
var xhr = new XMLHttpRequest();
xhr.open("POST", "validation.cfc?method=validate", true);
xhr.setRequestHeader('Content-Type', 'application/json; charset=UTF-8');
// send the collected data as JSON
xhr.send(JSON.stringify({formdata:data}));
xhr.onloadend = function () {
console.log(xhr.responseText);
};
我不确定我做错了什么?