Call the Wcf service using Javascript on the Html page.

I have a WCF project in VSStudio2012, and I want to call a method from a JavaScript function.

JavaScript file:

var url = 'http://localhost:52768/Service1.svc/'

function test() {

var response;

$.ajax({
    type: 'Post',
    url: url + 'GetTEST',
    contentType: 'application/json; charset=utf-8',
    dataType: 'json',
    success: function (msg) {
        alert(msg);
    },

    error: function (e) {
        alert("Error  : " + e.statusText);
    }
});

}

HTML file:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<script Language="JavaScript" src="Scripts/JavaScript1.js"></script>
<script Language="JavaScript" src="Scripts/jquery-1.10.2.min.js"></script>
<script Language="JavaScript" src="Scripts/jquery-1.9.1.intellisense.js"></script>
<script Language="JavaScript" src="Scripts/jquery-1.9.1.js"></script>
<script Language="JavaScript" src="Scripts/jquery-1.9.1.min.js"></script>
<script Language="JavaScript" src="Scripts/jquery.unobtrusive-ajax.js"></script>
<script Language="JavaScript" src="Scripts/jquery.unobtrusive-ajax.min.js"></script>
<script Language="JavaScript" src="Scripts/jquery.validate.js"></script>
<script Language="JavaScript" src="Scripts/jquery.validate.min.js"></script>
<title>TESTE</title>
</head>
<body>
<input id="Button1" type="button" value="button" onclick="test()"/>
</body>

</html>

In my IService1.cs

    [OperationContract]
    [WebInvoke(Method = "GET",ResponseFormat = WebMessageFormat.Json)]
    string GetTEST();

Here is the alert display

enter image description here

And the error:

enter image description here

localhost: 52768 / Service1.svc display

enter image description here

+4
source share
1 answer

, , AJAX - , . page_method (script callback) wcf , WCF. - AJAX WCF ( ).

WCF REST, HTTP- GET. , - JQuery api WCF JQuery script. WCF JQuery - :

  [ServiceContract(Namespace="ConsoleAJAXWCF")]
  public interface IService1
  {
    [OperationContract]
    [WebInvoke(Method = "GET", ResponseFormat = WebMessageFormat.Json)]
    string GetTEST();
  }

  [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
  public class Service1 : IService1
  {

    public string GetTEST()
    {
      return "OKKKKKKKK";
    }
  }

:

// program.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description; 
using ConsoleAJAXWCF;    

namespace ConsoleAJAXWCF
{
    class Program
    {
        static void Main(string[] args)
        {

            // Step 1 Add a service endpoint.
            using (WebServiceHost selfHost = new WebServiceHost(typeof(Service1)))
            {
                try
                {
                   // Step 2 Start the service.
                   selfHost.Open();
                   Console.WriteLine("The service is ready.");
                   Console.WriteLine("Press <ENTER> to terminate service.");
                   Console.WriteLine();
                   Console.ReadLine();

                   // Close the ServiceHostBase to shutdown the service.
                   selfHost.Close();
                }
                catch (CommunicationException ce)
                {
                    Console.WriteLine("An exception occurred: {0}", ce.Message);
                    selfHost.Abort();
                }                
            }            
        }
    }
}
    // WCF Configuration    
   <endpointBehaviors>
      <behavior name="AJAXEndpoint" >
       <webHttp/>
       </behavior>
     </endpointBehaviors>
    </behaviors>
    <services>
      <service name="ConsoleAJAXWCF.Service1">
        <endpoint 
         behaviorConfiguration="AJAXEndpoint" 
         address="" binding="webHttpBinding" contract="ConsoleAJAXWCF.IService1">
          <identity>
            <dns value="localhost"/>
          </identity>
        </endpoint>
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:52768/Service1/"/>
          </baseAddresses>
        </host>
      </service>
    </services>

, :

  • ConsoleAJAXWCF Visual Studio 2012. Windows Vista . Visual Studio , GetStartedHost . service.exe .
  • Internet Explorer localhost: 52768/Service1/

ASPX, :

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
      <script Language="JavaScript" src="Scripts/jquery-1.10.2.min.js"></script>
      <script Language="JavaScript" src="Scripts/jquery-1.9.1.intellisense.js"></script>
      <script Language="JavaScript" src="Scripts/jquery.unobtrusive-ajax.js"></script>
      <script Language="JavaScript" src="Scripts/jquery.unobtrusive-ajax.min.js"></script>
      <script Language="JavaScript" src="Scripts/jquery.validate.js"></script>
      <title>TESTE</title>
   </head>
   <body>
       <input id="Button1" type="button" value="button" onclick="CallRESTWCFService()"/>
   </body>
   <script type="text/javascript">

    function CallRESTWCFService() {
      $.getJSON("http://localhost:52768/Service1/GetTEST", {},
        function (data) {
          alert(data);
        });       
    }
  </script>
</html>
+9

All Articles