我有以下表格:
<!DOCTYPE html>
<head>
</head>
<body>
<div>
<label>
<h1>Input 1</h1>
</label>
<form>
<input type="text" name="input_1" class="input">
</form>
</div>
<!---Javascipt Sources --->
<script src="js/vendor/jquery-1.9.1.min.js"></script>
<script src="js/form.js"></script>
</body>
</html>
使用以下Javascript:
$(document).ready(function(e) {
$('.input').blur(function() {
var number = $('.input');
var data = 'number=' + number.val();
$.ajax({
url: "cfc/form.cfc",
method: "read",
type: "post",
data: data,
success: function(html) {
if (html == 1) {
alert('wyslane');
}
else {
alert('wrong');
}
}
});
return false;
});
});
哪个指向以下CFC:
<cfcomponent>
<cffunction name="Read" access="remote" output="false">
<cfreturn true>
</cffunction>
</cfcomponent>
我在Chrome控制台上收到以下错误消息:"READ http://127.0.0.1:8500/Google%20Drive/testing/cfc/form.cfc 501 (Method READ is not is not implemented by this servlet for this URI) "
以下是该通话的预览页面:
Apache Tomcat / 7.0.23 - 错误报告
类型状态报告
消息方法此servlet未针对此URI实现ADDTOSESSION
描述服务器不支持满足此请求所需的功能(此servlet没有为此URI实现方法ADDTOSESSION)。
使用网址http://127.0.0.1:8500/Google%20Drive/testing/cfc/form.cfc
登录RDS后,我可以点击CFC。
有没有我做错的代码,或者内置服务器是否有点时髦?我也在Google Drive文件夹之外尝试了它,直到webroot,但我得到了同样的错误。应授予驱动器本身的所有适用权限(用户,管理员,系统)。
Windows 7 / ColdFusion 10
答案 0 :(得分:1)
必须将CFC方法名称作为HTTP参数传递(通过form
或url
)。尝试从您的设置中删除method: "read"
,并将?method=read
添加到您的url
参数中,如下所示:
$.ajax({
url: "cfc/form.cfc?method=read",
type: "post",
data: data,
success: function(html) {
if (html == 1) {
alert('wyslane');
}
else {
alert('wrong');
}
}
});
答案 1 :(得分:1)
感谢@imthepitts指出我正确的道路。我复制并粘贴了你的代码并得到了500错误。我修改了一下以使其工作:
$.ajax({
url: "cfc/form.cfc",
type: "post",
data: {
method: "read",
input1: 'hi'},
success: function(html) {
if (html == 1) {
alert('wyslane');
}
else {
alert('wrong');
}
}
});
作为一个附带问题,我在哪里可以发现我必须通过FORM或URL传递它?我似乎不断收到有关如何处理AJAX调用的信息,并希望引用一些源代码。谢谢你的帮助。