Javascript ajax调用不执行success函数
下面是调用json web服务的jquery代码Javascript ajax调用不执行success函数,javascript,jquery,Javascript,Jquery,下面是调用json web服务的jquery代码 function getMajorGroups(){ var element = $(".item-group-button"); var response = $.ajax({ type:"GET", url:"http://localhost:6458/posApplication/touch/getAllMajorGroupsForTouch", dataType:
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://时,success或fail都不会运行。我写的这个方法是错误的还是遗漏了什么。我在这里调用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"}
使用dataType=json时,有一个可能导致故障的问题: 依照 json”:将响应评估为json并返回一个JavaScript对象。json数据以严格的方式解析;拒绝任何格式错误的json并抛出解析错误。从jQuery 1.9开始,也会拒绝一个空响应;服务器应返回null或{}响应 另一种方法是使用
.getJSON
函数,请参见
再次注意(从.getJSON
doc):
重要提示:从jQuery1.4开始,如果JSON文件包含语法错误,请求通常会自动失败
在Firefox上,添加FireBug插件并检查网络选项卡。我也有同样的问题。在我的例子中,问题是因为我使用了MySQL中的“日期”并且某些内容被破坏。我只需要以前格式化该字段,就这样。本地主机上的跨域问题?使用FireBug或Chrome开发者工具(Ctrl+Shift+I),您可以更清楚地检查请求/响应。我怀疑CORS(跨域)但问题是。我不熟悉Jquery+JSON web服务,请您解释一下!您是否也从localhost:6458下载页面?如果不是,您必须在服务器响应中使用
访问控制允许源代码:
,或者使用JSONP。我不是从localhost下载页面。它只是一个包含必要Jquery文件的html文件。我想我遇到了跨域问题。此外,我正在访问的服务是使用spring 2.5开发的。我应该在哪里添加访问控制允许源代码?它是否在web.xml文件中?我检查了网络选项卡中的响应,但没有任何内容!为了排除由此产生的JSON格式问题,您可以发布预期的JSON响应,请参阅如果您可以在服务器端自己打印它