下面是调用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();
});
}
我连接到localhost中的服务,URL如上所示!当我删除http://时,response.fail只会运行。当我添加http://成功或失败都没有运行。这种方法我写的是错的还是有什么遗漏的。我在这里调用JSON Web服务!
当我在浏览器中尝试时,webservice返回一个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"}
答案 0 :(得分: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/
再次记下(来自.getJSON
doc):
重要提示:从jQuery 1.4开始,如果JSON文件包含语法错误,请求通常会无提示失败...
在Firefox上,添加FireBug插件并选中“网络”选项卡。
答案 1 :(得分:0)
我遇到了同样的问题。在我的情况下,这是因为我使用了MySQL的“日期”而且有些东西被破坏了。我只需要预先格式化那个字段,那就是它。