【问题标题】:Unable to fetch data from json file using jquery无法使用 jquery 从 json 文件中获取数据
【发布时间】:2015-04-24 17:08:38
【问题描述】:

目前我正在做一个项目,我必须使用 JQuery 从 Web API 获取信息到 Web 应用程序中。

<script src="jquery-1.11.2.js"></script>
<script src="jquery-1.11.2.min.js"></script>
<script type="text/javascript">

$(document).ready(function () {
        jQuery.support.cors = true;
        $("#btn").click(function () {
            $.ajax({
                url: "http://localhost:52227/api/Values",
                type: "GET",
                dataType: "json",
                success: function (data) {
                    alert("hello");
                }
            });
        });
    });
</script>

<body>
<form id="form1" runat="server">
<div>
    <input type="button" id="btn" value="submit" />
</div>
</form>

当我运行这个应用程序时,它没有显示任何输出。

【问题讨论】:

  • 如果你把这个网址放到浏览器"http://localhost:52227/api/Values屏幕上会显示什么?
  • 我正在获取我的 web api 的 xml 格式 2passuser
  • 好的,所以是xml,不是json
  • 是的,我将输出为 xml
  • 将您的数据类型更改为dataType:"xml" 看看是否可行

标签: jquery ajax json web-applications


【解决方案1】:

您提供的代码在语法上是正确的。获取请求很可能失败,并且您没有为请求提供错误函数。您可以像这样添加错误回调

$.ajax
(
{
    url: "http://localhost:52227/api/Values",
    type: "GET",
    dataType: "json",
    success: function (data) {
        alert("hello");
    },
    error: function (data) {
        alert("test");
    }
}
)

这是一个 JSFiddle 展示它的实际效果。

http://jsfiddle.net/1mqotn6v/2/

【讨论】:

  • 但这里我收到错误(我在我的警报框中进行测试):此代码中的错误是什么???
  • 您可以控制台记录返回对象以收集有关错误的一些信息,或者您可以在浏览器中打开开发人员工具并查看网络选项卡以获取有关错误的一些信息。我已经用 console.log 而不是警报更新了 jsfiddle:jsfiddle.net/1mqotn6v/7
  • 问题不在于他告诉 jquery 期待 JSON,而实际上正在返回 xml?
  • 这很可能是根本问题,但上面的答案会让他知道将来如何解决这些错误
  • 我收到错误,因为 XMLHttpRequest 无法加载 localhost:52227/api/Values。请求的资源上不存在“Access-Control-Allow-Origin”标头。 Origin 'fiddle.jshell.net' 因此不允许访问 - 当我运行我的代码成功时:function(data){ alert(data.UserName) ;} (其中用户名是我的属性)它给我的消息是“未定义"
猜你喜欢
  • 2018-06-04
  • 1970-01-01
  • 1970-01-01
  • 2019-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多