簡體   English   中英

對WCF服務的Ajax調用未返回數據

[英]Ajax call to WCF service not returning data

我有一個wfc服務,正在使用jquery ajax調用taht返回json數據。 沒有數據或錯誤正在返回。 當我將網址放入瀏覽器時,它會返回數據。 例如

{"Title":"The Prestige","Year":"2006"}

這是我的服務合同

[ServiceContract]
public interface IMovies
{
    [OperationContract]
    [WebGet(UriTemplate="/movies", ResponseFormat=WebMessageFormat.Json)]
    Movie GetMovies();
}


<system.serviceModel>
<behaviors>
  <endpointBehaviors>
    <behavior name="web">
      <webHttp/>
    </behavior>
  </endpointBehaviors>
  <serviceBehaviors>
    <behavior name="">
      <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
      <serviceDebug includeExceptionDetailInFaults="false" />
    </behavior>
  </serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"
  multipleSiteBindingsEnabled="true" />
<services>
  <service name="Movies">
    <endpoint address="" behaviorConfiguration="web"
      binding="webHttpBinding" contract="IMovies" />
  </service>
</services>

還有我的ajax電話

                $.ajax({
                type: "GET",
                url: "http://server/Service/Movies.svc/movies",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (response) {                        
                    var movie = response.d;
                    $("#movieTitle").text(movie.Title);
                    $("#movieYearHidden").val(movie.Year);
                    $("#game").show();
                },
                error: function(response) { 
                    alert("Error retrieving movie. Please check connection."); 
                }

            });

當我撥打電話時,沒有任何反應。 請幫忙

我認為您需要添加json端點。

<endpoint address="json" behaviorConfiguration="web"
  binding="webHttpBinding" contract="IMovies" />

我懷疑您的ajax調用沒有發生。 要從ajax調用WCF服務,必須在端點行為中使用enableWebScript

請檢查我的應用程序中使用的以下配置。

<system.serviceModel>
    <services>
      <service name="WCF.TestWCF" behaviorConfiguration="TestWCFBehaviour">
        <endpoint address="" binding="webHttpBinding" contract="WCF.ITestWCF" behaviorConfiguration="TestWCFEndPointBehaviour"></endpoint>
      </service>
    </services>
    <behaviors>
      <serviceBehaviors>
        <behavior name="TestWCFBehaviour">
          <serviceMetadata httpGetEnabled="true"/>
          <serviceDebug includeExceptionDetailInFaults="false"/>
        </behavior>
      </serviceBehaviors>
      <endpointBehaviors>
        <behavior name="TestWCFEndPointBehaviour">
          <enableWebScript/>
          <webHttp/>
        </behavior>
      </endpointBehaviors>
    </behaviors>
  </system.serviceModel>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM