javascript - 在 Javascript/Jquery Ajax 调用中使用 WCF 服务

标签 javascript jquery asp.net visual-studio wcf

我在以下路径上托管/发布了 WCF 服务 -

newslettersubscriptiondev.mercola.com/NewsletterSubscriptionService.svc

想要在Jquery Ajax Call中调用上面的WCF服务

用 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: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="413133202f20376f23282d34332a2033737901262c20282d6f222e2c" rel="noreferrer noopener nofollow">[email protected]</a>', 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: '<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="96e6e4f7f8f7e0b8f4fffae3e4fdf7e4a4aed6f1fbf7fffab8f5f9fb" rel="noreferrer noopener nofollow">[email protected]</a>', Source: 'ArticleBody'}), 

JSON.stringify 定义于 http://www.json.org/js.html .

再更新一次成功返回数据后,您将看到返回的数据不应使用 data.d.EmailAddress 访问,而是使用 data.EmailAddress 访问反而。 ASMX Web 服务将数据放在属性 d 中,但不是 WCF 服务。

关于javascript - 在 Javascript/Jquery Ajax 调用中使用 WCF 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33824831/

相关文章:

javascript - 让 Javascript 通过 JSON 查看来自 Python 的列表的过程很困惑

javascript - Md-switch 在 ng-repeat 中不起作用

jquery - 使用表单选择日期jquery

javascript - 将php表单数据传输到js窗口

javascript - 尝试使用克隆 - jQuery

javascript - Angular 7 HttpHeaders CORS 问题

javascript - jQuery - 在 div 中查找自身的索引

c# - 在 ASP.NET 4.0 环境下使用 c# 上传多文件

asp.net - ASP.Net MVC 中长时间运行的服务器调用的进度条

asp.net - Gridview 数据键名称