【问题标题】:Calling WCF Service from JavaScript using AJAX through JQuery通过 JQuery 使用 AJAX 从 JavaScript 调用 WCF 服务
【发布时间】:2013-05-08 10:18:11
【问题描述】:

我正在尝试通过 JavaScript 调用位于本地的 WCF 服务。这是 WCF 服务的示例。

public string GetMarkers()
    {
        List<Marker> lstMarkers = new MarkerMgr().GetMarkers().ToList();
        List<Marker> lstMark = new List<Marker>();
        foreach (Marker m in lstMarkers)
        {
            Marker marker = new Web_Service.Marker();
            marker.Id = m.Id;
            marker.Latitude = m.Latitude;
            marker.Longitude = m.Longitude;
            marker.Title = m.Title;
            marker.Description = m.Description;
            marker.Icon = m.Icon;
            lstMark.Add(marker);
        }

        JavaScriptSerializer jss = new JavaScriptSerializer();
        jss.MaxJsonLength = Int32.MaxValue;

        return jss.Serialize(lstMark);
    }

这是我用来调用 WCF 服务的函数。

function getMarkers() {
        var markers = null;
        $.ajax({
            async: true,
            type: "GET",
            url: "http://localhost:61892/Service.svc/GetMarkers", // the URL of the controller action method
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            processData: true,
            success: function (result) {
                alert(result);
                markers = result;
            },
            error: function (req, status, error) {
                alert(error);
            }
        });
        return markers;
    }

我尝试了许多不同的方法来解决这个问题,但都没有成功。从我所做的所有研究中,我认为它与本地主机有关。有人有想法吗?非常感谢。

【问题讨论】:

  • 这是跨域请求吗?
  • 不,它的 wcf 服务和演示文稿都在本地主机上
  • 那么你可以使用相对路径作为 url。无需在您的网址中使用“localhost:61892
  • 我试过这样 "url: "/Service.svc/GetMarkers" 但结果是一样的。我认为它与 URL 有关,但我不知道出了什么问题用它。
  • 能否提供调用服务的页面网址?

标签: javascript jquery ajax wcf service


【解决方案1】:

您正在尝试跨域 ajax。所以应该在你的 ajax 调用页面中启用 cors。 服务器也应该制作

"Access-Control-Allow-Origin" header to "*"

看看this

【讨论】:

  • 我已经尝试过了,但仍然没有。问题是,当我调用 ajax 时,wcf 服务没有被调用,因为我在 Visual Studio 中调试。但是当我通过它返回的 WCF 服务调用该方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-02-22
  • 1970-01-01
  • 1970-01-01
  • 2015-04-27
  • 2014-07-08
  • 2014-08-18
  • 1970-01-01
相关资源
最近更新 更多