AJAX失败,但当我直接访问URL时调用成功 [英] Ajax fails but the call succeeds when I access the URL directly

查看:36
本文介绍了AJAX失败,但当我直接访问URL时调用成功的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从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

这篇关于AJAX失败,但当我直接访问URL时调用成功的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆