Ajax 到 WCF 服务

Posted

技术标签:

【中文标题】Ajax 到 WCF 服务【英文标题】:Ajax to WCF Service 【发布时间】:2017-05-29 13:29:06 【问题描述】:

我有一个 WCF 服务(支持 Ajax),我需要使用 AJAX 调用它的方法。 WCF 服务名称为 NameService.svc,它位于网站根目录的 WebService 文件夹中。事情是这样工作的:我必须创建一个用户控件,其中包括一个包含文本字段的表格布局以收集用户数据,当单击按钮时,我需要使用 jQuery 和 Ajax 调用将数据插入到数据库。我尝试了以下代码,但它对我不起作用,我需要知道我在用户控件中遗漏了什么或写错了:

$(function() 
  $('button').click(function() 
    var name = $('text').val();
    $.ajax(
      url : 'NameService.svc/InsertData',
      data :  suppliername : name ,
      method : 'post',
      datatype : 'json',
      success : function(data) 
        alert(data);
      
    );
  );
);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

 <table class="table">
  <tbody>
    <tr>
      <td>Supplier Name:</td>
      <td><input type="text" name="sname"></td>
    </tr>
    <td colspan="2"><button type="button" class="btn btn primary">Insert</button></td>
  </tbody>
</table>

注意我在我的项目中使用 Bootstrap。使用按钮元素而不是类型为提交的输入元素是否有问题?我在 ajax 调用的 url 中错过了什么? WCF 服务中的方法是否应该使用特定属性进行修饰?如果我将调用一个只返回数据的方法,我应该在 Ajax 调用中使用 data 属性还是忽略它,该方法也将被发布到或者应该以这种方式获取。

【问题讨论】:

【参考方案1】:

如果你正在为 http post 和 get 做 $.ajax。我会推荐你​​观看来自https://www.udemy.com/rest-wcf-service-in-aspnet/learn/v4/t/lecture/5225772的教程

检索数据后,您可以从 svc.cs 进行数据库连接并将这些数据导入您的数据库。我假设您已经知道如何进行数据库连接。如果没有,只需在线搜索一下,您可能就会知道。

但是,如果您的数据是嵌套的 json 格式,我不知道。我也被打动了……叹气

【讨论】:

我知道的所有感谢词对你来说都不够,先生,我搜索了好几个小时才知道这些视频中的内容,但是我仍然坚持使用 POST 方法类型,因为我使用的是 WCF 服务(Ajax -enabled)并且它与视频中使用的不同,当使用 .NET 框架 4.5.1 时,服务接口和 .cs 文件被添加到单独的 App_Code 文件夹中。在这种情况下,我不知道如何调整 web.config。看来我会使用 .NET framework 4.0 来克服这个问题并完成我的工作。

以上是关于Ajax 到 WCF 服务的主要内容,如果未能解决你的问题,请参考以下文章