【问题标题】:Pass data from html form to c# webservice using ajax使用 ajax 将数据从 html 表单传递到 c# webservice
【发布时间】:2016-07-14 07:15:23
【问题描述】:

我有一个使用 phpstorm 中的引导程序制作的 html 表单,我想使用 ajax 将信息传递给 c# webservice。 胸围我对在 ajax url 中放入什么有一些疑问(如下所示)。

这是我的 html/bootstrap 表单:

<form role="form" action="" method="post" class="login-form">
  <div class="form-group">
    <label class="sr-only" for="form-username">Email</label>
    <input type="text" name="form-username" placeholder="Email....." class="form-username form-control" id="form-email">
  </div>
  <div class="form-group">
    <label class="sr-only" for="form-text">Type Order</label>
    <input type="text" name="order" placeholder="Tipo Encomenda" class="form-text form-control" id="textbox1">
  </div>
  <span id="spnGetdet" style="font-size:x-large" />
  <div class="form-group">
    <label class="sr-only" for="form-number">Number</label>
    <input type="number" min="0" max="150" name="orderQuantity" placeholder="Numero Peças" class="form-number form-control" id="form-number">
  </div>
  <div class="form-group">
    <label class="sr-only" for="form-radio">Urgente</label>
    <label class="radio-inline">
      <input type="radio" name="optradio">Urgente</label>
    <label class="radio-inline">
      <input type="radio" name="optradio">Não Urgente
    </label>
  </div>
  <button type="submit" class="btn btn-primary" id="submitOrder">Enviar</button>
</form>

这是我的 ajax/jquery 代码:

<script type="text/javascript">
    $("#submitOrder").click(function(){
        $(document).ready(function () {
            var TextBox1 = $("#textbox1");
            TextBox1.change(function (e) {
                var Name = TextBox1.val();
                if (Name != -1) {
                    Getdet(Name);
                }else {
                    <?php echo "erro"?>;
                }
            });
        });
    }

    function Getdet(Name) {
        $.ajax({
            type: "POST",
            url: "",
            data: "{'Custname':'" + Name + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (response){
                $("#spnGetdet").html(response.d);
            },
            failure: function (msg)
            {
                alert(msg);
            }
        });
    }
</script>

最后我的c# webservice(这是一个测试,我只想收集订单的类型):

    [WebMethod]
    public String GetCustdet(string Custname)
    {
        return Custname;
    }

所以,如果我有在 phpstorm 和 webservice visual studio 中制作的项目(网站),我必须在 ajax 的 url 中输入什么才能访问 web 服务?

P.S: 网站在 xampp 中运行

【问题讨论】:

  • 我们不知道您的网络服务在哪里运行。你如何在浏览器中访问它?您的提交处理程序和 document.ready 也是向后的
  • webservice是在bizagi中运行的,但现在是在浏览器中运行
  • 在点击事件处理程序$(document).ready(function () { 中不需要此文档就绪事件处理程序

标签: c# jquery html ajax web-services


【解决方案1】:

我假设,您使用的是 MVC 模式,我给出了以下 url。您应该在 [controller] 位置替换控制器名称。您应该将 localhost:5566 或任何内容替换为 [server-name]。

选项 1:[GET] http://[server-name]/[controller]/GetCustdet?Custname=Jhon 没有数据。

选项 2:[POST] http://[server-name]/[controller]/GetCustdet with data: '{Custname:"Jhon"}'

否则,如果您使用 Asp.Net 模板来创建 WebMethod,那么您应该使用 asp 页面名称代替 [控制器]。

或者,您可以使用路由配置来自定义 URL 和数据。

【讨论】:

  • 控制器是什么?
  • @AdrianoMaia - 我们不知道,这是您的代码和您网站的 URL;我们对此一无所知。
  • @MarkSchultheiss 我只问 url 中的控制器是什么意思而已,你当然不知道我的代码....不过谢谢你
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-27
  • 1970-01-01
  • 1970-01-01
  • 2019-05-10
  • 2012-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多