0

下面是调用 json web 服务的 jquery 代码。

    function getMajorGroups(){

    var element = $(".item-group-button");
    var response = $.ajax({
        type:"GET",
        url:"http://localhost:6458/posApplication/touch/getAllMajorGroupsForTouch",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        data:{}
    });

    response.done(function(data){
        alert(data);
    });

    response.fail(function() {
        $("#item-groups").empty();
    });
}

我连接到本地主机中的服务,并且 URL 如上所述!当我删除 http:// 时,response.fail 只会运行。当我添加 http:// 成功或失败都不会运行。我写的这个方法是错误的还是有什么遗漏。我在这里调用 JSON Web 服务!

当我在浏览器中尝试时,网络服务返回一个 JSON 字符串!我正在调用 GET 类型的服务方法。

更新 :

这是我在浏览器中直接使用 URL 时的 Json 响应。

{"majorGroups":[{"update":"false","hasMore":"false","status":"A","description":"Beverage","majorGroupId":"48","code":"Beverage"},{"update":"false","hasMore":"false","status":"A","description":"Laundry","majorGroupId":"51","code":"Laundry"},{"update":"false","hasMore":"false","status":"A","description":"Cigarette","majorGroupId":"50","code":"Cigarette"},{"update":"false","hasMore":"false","status":"A","description":"Food","majorGroupId":"47","code":"Food"},{"update":"false","hasMore":"false","status":"A","description":"Health Center","majorGroupId":"52","code":"Health Center"}],"failure":"false"}
4

2 回答 2

0

在使用 dataType=json 时,有一个可能导致失败的问题:

根据http://api.jquery.com/jQuery.ajax/

json":将响应评估为 JSON 并返回一个 JavaScript 对象。以严格的方式解析 JSON 数据;拒绝任何格式错误的 JSON 并引发解析错误。从 jQuery 1.9 开始,也拒绝空响应;服务器应该返回 null 或 {} 的响应。

您可以采取的另一种方法是使用.getJSON函数,请参阅http://api.jquery.com/jQuery.getJSON/ 再次记下(来自.getJSONdoc):

重要提示:从 jQuery 1.4 开始,如果 JSON 文件包含语法错误,请求通常会静默失败...

在 Firefox 上,添加 FireBug 插件并检查网络选项卡。

于 2013-04-16T11:48:18.013 回答
0

我有同样的问题。在我的情况下,这是因为我使用了 MySQL 的“日期”并且某些东西被破坏了。我只需要事先格式化该字段,就是这样。

于 2017-09-24T00:31:04.917 回答