对wcf服务的javascript调用
我制作了一个WCF REST服务,它以JSON格式返回响应,现在我想对wcf服务的javascript调用,javascript,wcf,Javascript,Wcf,我制作了一个WCF REST服务,它以JSON格式返回响应,现在我想 从javascript调用它。但是当我尝试调用它时,我无法查看任何响应。 为了进行javascript调用,我编写了以下代码: <script src="Scripts/jquery-1.5.2.min.js" type="text/javascript"> </script> <script language="javascript" type="text/javascript"> fun
从javascript调用它。但是当我尝试调用它时,我无法查看任何响应。 为了进行javascript调用,我编写了以下代码:
<script src="Scripts/jquery-1.5.2.min.js" type="text/javascript">
</script>
<script language="javascript" type="text/javascript">
function Greeting() {
$("#btnWCFREST").click(function() {
$.ajax({
url:"http://localhost:8732/Services/RoleService/json/Role/provider",
type:"GET",
dataType:"json",
contentType:"application/json; charset=utf-8",
successs: function(msg) {
alert(msg);
},
Error: function(msg) {
alert("Failed");
}
});
}
}
</script>
函数问候语(){
$(“#btnWCFREST”)。单击(函数(){
$.ajax({
url:“http://localhost:8732/Services/RoleService/json/Role/provider",
键入:“获取”,
数据类型:“json”,
contentType:“应用程序/json;字符集=utf-8”,
成功:函数(msg){
警报(msg);
},
错误:函数(msg){
警报(“失败”);
}
});
}
}
如何获得响应。我哪里出错了?您在
successs
中有一个额外的s
。请将其更改为success
以使该功能正常工作
另外,您在Error
中使用了大写的E
。我认为Javascript区分大小写,因此您可能需要将其更改为Error
(全部小写)
传递到error函数中的第一个参数是jqXHR对象,第二个参数是错误消息。因此,如果您确实想要获取错误消息(您可能不想,因为您没有使用它),则需要向error
函数添加另一个参数
最后,正如@SeanVieira所指出的,您的
click
函数缺少一个右括号。您有一个语法错误-您从未关闭click
方法调用的括号:
}); // end .ajax function
} // // end .click function - should be });
} // end Greeting function declaration
另外,
错误:
应该是错误:
(JavaScript区分大小写)。我做了上述更改并运行了应用程序。但是当我检查developerTools控制台窗口时,我得到了如下错误:加载资源失败:服务器响应状态为405(不允许使用方法)XMLHttpRequest无法加载http:/Origin不受访问控制Allow Origin的允许。如何消除此错误?@cutiepie-您正在使用不同的端口为您的页面和web服务提供服务-这意味着就浏览器而言,它是跨域的。可以使用同一端口为它们提供服务,也可以使用web服务发送一个Access-Control-Allow-Origin
头,该头允许从JavaScript所在的domain:port
进行访问。