我有以下表格:
<!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 - 错误报告
HTTP 状态 501 - 此 servlet 未为此 URI 实现方法 ADDTOSESSION
类型 状态报告
消息 方法 ADDTOSESSION 不是这个 servlet 为这个 URI 实现的
描述 服务器没有支持满足此请求所需的功能(此 servlet 未为此 URI 实现方法 ADDTOSESSION)。
Apache Tomcat/7.0.23
使用URL http://127.0.0.1:8500/Google%20Drive/testing/cfc/form.cfc
登录RDS 后,我可以正常命中CFC。 .
是我在代码方面做错了什么,还是内置服务器有些奇怪?我也在 Google Drive 文件夹之外尝试过,直到 webroot,但我得到了同样的错误。应授予驱动器本身的所有适用权限(用户、管理员、系统)。
Windows 7/ColdFusion 10
最佳答案
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');
}
}
});
关于jquery - 在 CFC 上使用 AJAX 时出现 501 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16430776/