【问题标题】:Can't connect to web service by JQuery无法通过 JQuery 连接到 Web 服务
【发布时间】:2016-05-24 14:28:43
【问题描述】:

我使用 jquery (ajax) 连接到返回 string 的 Web 服务,它不适用于我。它总是进入错误函数。这是我的网络服务:

 [HttpGet]
        [ActionName("GetImage")]
        public string GetImage(string base64String, string imgName,string reqTitle , string reqSubject, string reqStatus,string Creator , DateTime creationdate )
        {

            try
            {
                using (PhMobAppEntities context = new PhMobAppEntities())
                {
                    ClaimsApproval _ca = new ClaimsApproval();
                    _ca.imageBasestrg = base64String;
                    _ca.imageName = imgName;
                    _ca.Creator = Creator;
                    _ca.CreationTime = creationdate;
                    _ca.ReqStatus = reqStatus;
                    _ca.ReqTitle = reqTitle;
                    _ca.ReqSubject = reqSubject;
                    context.ClaimsApprovals.Add(_ca);
                    context.SaveChanges();
                    return "Success";
                }

            }
            catch (DbEntityValidationException ex)
            {

                var errorMessages = ex.EntityValidationErrors
                        .SelectMany(x => x.ValidationErrors)
                        .Select(x => x.ErrorMessage);

                var fullErrorMessage = string.Join("; ", errorMessages);

                var exceptionMessage = string.Concat(ex.Message, " The validation errors are: ", fullErrorMessage);

                throw new DbEntityValidationException(exceptionMessage, ex.EntityValidationErrors);
            }
        }

这是我的 js 代码:

  $("#sendphoto").click(function () {
        var url = "http://41.128.183.109:1212/api/Data/GetImage";
        var data = {
           imgName: "test"
        };
        $.ajax({
            url: url,
            type: 'Get',
            data: data,
            success: function (data) {
alert("Success");


            },
            error: function (data) {
                alert("Please Check Your Internet Connection");
            }
        });

    });

当我在高级休息客户端测试我的网络服务时,它运行正常,请指教。

【问题讨论】:

  • “不工作”是什么意思?是否调用了 Ajax 错误处理程序?您在浏览器的开发控制台中是否遇到任何错误?你确认你的服务器端代码是否被调用了吗?
  • 它总是转到错误功能警报(“请检查您的互联网连接”);
  • 好的,所以 jQuery 应该将有关错误的一些详细信息作为参数传递给您的错误处理程序。更新该函数以记录详细信息(查看 jQuery doco 了解更多信息)。
  • alert data 在错误函数中查看详细信息。
  • @MairajAhmad 当我收到警报数据时我得到 [object object]

标签: javascript c# jquery asp.net web-services


【解决方案1】:

我尝试连接到您的网络服务并收到以下响应:

{"$id":"1","Message":"No HTTP resource was found that matches the request URI 'http://41.128.183.109:1212/api/Data/GetImage'."}

我认为您的 c# 代码存在内部问题,可能与您的路由有关。您的 javascript 调用可能工作正常,但您只传递了一个参数“test”,而您的声明中有更多参数。

你得到什么 http 响应代码?

【讨论】:

  • 当我在高级休息客户端上测试我的网络服务时,它工作正常。并返回成功。我的回答是 [object object]
  • 你能把你的通话样本放在这里吗?
猜你喜欢
  • 2012-02-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-15
  • 2013-07-13
  • 2020-01-01
相关资源
最近更新 更多