AJAX失败,但当我直接访问URL时调用成功

2022-06-16 00:00:00 jquery javascript ajax firebug

我从FireBug发出以下AJAX调用:

var rootUrl = 'http://172.24.105.22:8080/geoserver/Chennai_Sub/ows';

var defaultParameters = {
    service: 'WFS',
    version: '1.0.0',
    request: 'GetFeature',
    typeName: 'Chennai_Sub:Link',
    maxFeatures: 200,
    outputFormat: 'application/json',
    format_options: 'callback: getJson'

};

$.ajax({
    url: rootUrl,
    data: defaultParameters,
    success: function () {
        console.log("victory");
    },
    error: function (XMLHttpRequest, textStatus, errorThrown) {
        console.log(textStatus);
    }
});

AJAX调用失败。这是我得到的响应对象的一部分:

readyState  4
status  404
statusText  "error"
但是,当我实际尝试在浏览器中打开URL(http://172.24.105.22:8080/geoserver/Chennai_Sub/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=Chennai_Sub%3ALink&maxFeatures=200&outputFormat=application%2Fjson&format_options=callback%3A+getJson)时,我得到一个干净的JSON响应。你知道我做错了什么吗?

(另外,我在以下URL中尝试了FireBug会话:http://172.24.105.22:3000/layer。因此,我认为这不是CORS问题。)


解决方案

这可能不是正确的解决方案,但我相信不同的端口可能会导致此类问题。

来自上面的评论

仅允许在相同的域、协议和 由于同源策略而导致的端口。

维基百科对此有何评论: http://en.wikipedia.org/wiki/Same-origin_policy

相关文章