Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax调用不执行success函数_Javascript_Jquery - Fatal编程技术网

Javascript ajax调用不执行success函数

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:

下面是调用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://时,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响应,请参阅如果您可以在服务器端自己打印它