【问题标题】:Getting JSON data from a REST service从 REST 服务获取 JSON 数据
【发布时间】:2016-05-25 11:04:36
【问题描述】:

我有一个返回一些示例 JSON 的 REST 服务:

  public string DoJSONWork()
    {
        return "{\"name\":\"unknown\", \"age\":-1}";
    }

我正在尝试从网页中使用它:

        $(document).ready(function () {
        $.ajax({
            type: "GET",
            url: "http://nwcm2012/SMService/SocialMediaWS/DoJSONWork",
            dataType: "json",
            success:
                function (resp) {
                    alert("Server said: " + resp);
                },

            error: function (xhr) {
                alert("error");
            }
        });
    });

但它不断出现错误消息。没有教程/示例给我任何关于哪里出了问题的线索!

【问题讨论】:

  • 什么error message
  • 我认为他的意思是错误警报。您是否尝试过在浏览器中检索数据?你能不能让你的错误函数从服务器返回错误代码,以便我们知道它是格式错误的 JSON,还是授权错误,或者其他什么?
  • 它只是命中了 alert("error") 行,所以错误信息只是“error”。
  • 服务器上没有错误。该方法返回这个 JSON:"{\"name\":\"unknown\", \"age\":-1}";
  • 如何获取返回的错误码?

标签: jquery json rest


【解决方案1】:

试试这个:

 $(document).ready(function () {
 $.ajax({
        type: "GET",
        url: "http://nwcm2012/SMService/SocialMediaWS/DoJSONWork",
       contentType: "application/json; charset=utf-8",
       dataType: "json"
    }).done(function (resp) {
        alert("Server said: " + JSON.stringify(resp));
    }).error(function (err) {
        alert("error: " +JSON.stringify(err));
    });
    });

【讨论】:

  • 谢谢,但没有运气 - 它的返回错误:[object Object]
  • OK - 它显示错误:{readyState: 0, status: 0, statusText: "Error: Access is denied"}
  • 我已更改为 jsonp,现在收到此消息:@987654321 中第 1 行第 20 列的 JavaScript 严重错误@\n\nSCRIPT1004: Expected ';'所以看起来我现在正在接收数据,但格式错误
  • 您可以托管您的服务吗?
  • 这是一个运行在 Windows 服务中的自托管 Web 服务
【解决方案2】:

通过Sample data provider尝试您的服务

【讨论】:

    猜你喜欢
    • 2015-05-27
    • 2017-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多