0

我正在尝试通过 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;
    }

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

4

1 回答 1

0

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

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

看看这个

于 2013-05-08T11:56:54.330 回答