0

你好; 如何在 jquery html 应用程序中将 wcf 服务用作远程或本地?我已经准备好了一个 wcf 服务。我想通过 jquery ajax 方法在 html 文件中使用。任何错误都不返回。

与 2010 年相比的 WCF 方面:

    public class Service1 : IService1
{
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }

aptana 工作室中的 HTML:

在此处输入图像描述

代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/latest/jquery.js"></script>

$(document).ready(function() {
     $("#sayHelloButton").click(function(){
        alert("fsf");



         $.ajax({
             type: "POST",
             url: "Service1.svc/GetData",
             data: "{'id': '" + 1 + "'}",

             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function(msg) {
                 AjaxSucceeded(msg);
             },
             error: AjaxFailed
         });
     });
 });
      function AjaxSucceeded(result) {
          alert(result.d);
      }
      function AjaxFailed(result) {
          alert(result.status + ' ' + result.statusText);
      }  

测试

点我

接触

<div>

</div>

<footer>
 <p>&copy; Copyright  by yusufkaratoprak</p>
</footer>

4

2 回答 2

2

在 .CS 文件中需要执行几个步骤 -

WebInvoke步骤 1. 使用属性装饰 GetData 方法。

[WebInvoke(Method="POST", UriTemplate="/GetData", RequestFormat=WebMessageFormat.Json, ResponseFormat=WebMessageFormat.Json)]
    public string GetData(int value)
    {
        return string.Format("You entered: {0}", value);
    }

步骤 2. 通过配置或通过或通过代码将 WebHttpBehavior 添加到端点。

ServiceEndpoint ep = //your hosting endpoint          
            //Add behaviors to the endpoint
            ep.EndpointBehaviors.Add(new WebHttpBehavior());

第 3 步。在 $.ajax 方法中,使用服务的完整 url 以及方法名称。

$.ajax({
             type: "POST",
             url: "http://localhost/Service1.svc/GetData",
             data: "{'id': '" + 1 + "'}",

             contentType: "application/json; charset=utf-8",
             dataType: "json",
             success: function(msg) {
                 AjaxSucceeded(msg);
             },
             error: AjaxFailed
         });
于 2013-07-13T11:42:00.903 回答
0

你的网址是错误的。如果它在您的本地网络服务器上,它可能类似于

"http://localhost/service1.svc/getdata"
于 2013-07-13T06:18:51.673 回答