对于有效资源,跨域jQuery ajax调用失败

时间:2013-11-14 06:10:49

标签: jquery ajax json

代码尝试使用jQuery.ajax()进行跨域调用:

<!DOCTYPE html>
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js">
</script>
<script>
$(document).ready(function(){
        var request=$.ajax({
            type: "GET",
            url: "http://2.cinema-sderot.appspot.com/getSimpleJson",
            dataType: "json",
            crossDomain: true
        });

        request.done(function( msg ) {
          $("div").append("Done");
        });

        request.fail(function( jqXHR, textStatus ) {
          $("div").append("Request failed: " + textStatus);
        });
});
</script>
</head>
<body>
<div></div>
</body>
</html>

即使网址为returns a valid JSON,代码也会失败并显示消息Request failed: error。我在Firefox和Chrome中都没有在控制台日志中找到任何有用的信息。

知道什么是错的吗?

1 个答案:

答案 0 :(得分:2)

即使你说crossDomain: true请求资源不支持使用CORS的跨域请求,请求也会失败

在这种情况下,服务器似乎不支持CORS。

如果您正在使用java servlet,请添加以下herader

resp.setHeader("Access-Control-Allow-Origin", "*");