首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery.ajax调用Web服务的问题

jQuery.ajax调用Web服务的问题
EN

Stack Overflow用户
提问于 2019-03-20 23:52:53
回答 2查看 0关注 0票数 0

我正在ASP.NET中开发一个注册表单,我在其中使用客户端脚本。所以我使用jQuery.ajax方法通过ASP.NET Web服务将所有字段的数据POST到服务器。但是当我执行Jquery.ajax方法时,它会调用error函数。我尝试在Firefox中使用Firebug进行调试。它显示错误500内部服务器错误。现在我假设将数据插入到WebService中我需要使用POST方法,同样我需要Web服务中的服务器端的一个函数,可以使用POST方法调用。我提供了一些代码片段来说明我所做的事情。

我的客户端脚本:

代码语言:javascript
复制
//My Client Side Function
function registerUser()
{
    var User = {
      FirstName:$get("txtFirstName").value,
      LastName:$get("txtLastName").value
      .
      .
      //and so on....This way I creat my json object to POST on server
      };

      //jQuery to POST Data
      jQuery.ajax({
        type:"POST",
        url:"Service/UserRegistration.asmx/InsertUser",
        data:User,
        success:notifyUser,
        error:setErrorField
      });

}

//Function for Success Complition
function notifyUser(msg)
{
       alert("Registration Successfull");
}

我在服务器上的Web服务:

代码语言:javascript
复制
//My C# Web Service Logic
[WebMethod]
public void InsertUser(User use)
{
      FreeUser us = new FreeUser();
      us.FirstName = use.FirstName;
      .
      .
      //and so on
}

现在我想的是POST方法需要WebInvokeclass作为属性。如何制作一个可以被JavaScript调用的方法?我可能不得不用WebInvoke

EN

Stack Overflow用户

发布于 2019-03-21 08:36:16

如果您在服务器端提供ASP.NET AJAX(ASP.NET 2.0 + ASP.NET AJAX Extensions v1.0或ASP.NET 3.5+),我发现最简单的方法是使用JSON客户端和服务器端之间。您只需要将[ScriptService]属性添加到您的服务,然后使用此表单来调用服务:

代码语言:javascript
复制
$.ajax({
  type: "POST",
  contentType: "application/json; charset=utf-8",
  url: "WebService.asmx/WebMethodName",
  data: "{}",
  dataType: "json"
});

有关详细信息,请参阅此处的完整帖子:http//encosia.com/2008/03/27/using-jquery-to-consume-aspnet-json-web-services/

为了在该示例代码中提供JavaScript对象,您还需要使用JSON.Stringify生成适当的JSON字符串以传递给服务器端

票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100001018

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档