簡體   English   中英

在 Javascript/Jquery Ajax 調用中使用 WCF 服務

[英]Consuming WCF service in Javascript/Jquery Ajax call

我在以下路徑上托管/發布了 WCF 服務 -

newslettersubscriptiondev.mercola.com/NewsletterSubscriptionService.svc

想在Jquery Ajax Call調用以上WCF service

用 jQuery 編寫的代碼 -

<script type="text/javascript" src="JS/jquery-2.1.4.js"></script>
<script type="text/javascript" src="JS/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
    function cityClickJQuery() {
        $.ajax({
            type: "POST",
            url: "http://newslettersubscriptiondev.mercola.com/NewsletterSubscriptionService.svc/CheckEmailaddressValidateOnly",
            data: { EmaillAddress: 'pranav.bilurkar28@gmail.com', Source: 'ArticleBody' },
            processData: false,
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (data) {
                alert('success');
                alert(data.d);
            },
            error: function (jqXHR, textStatus, errorThrown) {
                console.log(JSON.stringify(jqXHR));
                console.log("AJAX error: " + textStatus + ' : ' + errorThrown);
                alert(jqXHR);
            }
        });
    }

</script>

上面JS代碼中CheckEmailaddressValidateOnly是Service中定義的C#方法,需要2個參數。

設計代碼 -

    <body>
        <form id="form1" runat="server">
        <div>
        <asp:Button ID="btn1" runat="server" OnClientClick="cityClickJQuery();" Text="click" />
        </div>
        </form> 
  </body>

上面的 JS 代碼不起作用。

請幫忙。

首先,您應該驗證您是否包含屬性

[WebInvoke (ResponseFormat = WebMessageFormat.Json)]

其次你應該使用

data:JSON.stringify({EmaillAddress: 'pranav.bilurkar28@gmail.com', Source: 'ArticleBody'}), 

JSON.stringify 在http://www.json.org/js.html 中定義。

再次更新 成功返回數據后,您將看到返回的數據不應使用data.d.EmailAddress訪問,而是使用data.EmailAddress訪問。 ASMX Web 服務將數據放在屬性 d 中,而不是 WCF 服務中。

更改data: { EmaillAddress: 'pranav.bilurkar28@gmail.com', Source: 'ArticleBody' }, To

data: JSON.stringify({ EmaillAddress: 'pranav.bilurkar28@gmail.com', Source: 'ArticleBody' }),

暫無
暫無

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

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