【问题标题】:Cross sub domain issue跨子域问题
【发布时间】:2013-04-17 16:07:23
【问题描述】:

我正在尝试从域 cdn.foo.com 向 www.foo.com 上的服务发送 ajax 调用。

在 www.foo.com 上有一个 jsonService。

当我发送这个时:

$.ajax({                
    url: json_url + "jsonService/AnyService/someMethod",
    type: "POST",  
    dataType: "json",  
    contentType: "json"
//do something
});

我收到请求但没有响应。

当试图发送这个时:

$.ajax({                
    url: json_url + "jsonService/AnyService/someMethod",
    type: "POST",  
    dataType: "jsonp",  
    contentType: "json"
//do something
});

我收到一个错误:405 Method Not Allowed

我使用的是 tomcat 7.0.12。

我应该怎么做才能让请求到达服务?

【问题讨论】:

  • 通过 $.post(url , data); 解决了它

标签: ajax json cross-domain


【解决方案1】:

使用 jquery 的 getJSON 方法:

var url = http://www.foo.com/jsonService/AnyService/someMethod?callback=?
$.getJSON(url, function() {...});

更多关于jsonp的解释见下文

http://www.devproconnections.com/article/aspnet2/ajax-cross-domain-142169

【讨论】:

  • 仍然不允许出现 405
  • 您还在尝试发布数据吗?你能改为通过 GET 发送吗?
【解决方案2】:

通过 $.post(url, data); 解决了它

【讨论】:

    猜你喜欢
    • 2015-07-22
    • 2017-08-29
    • 1970-01-01
    • 2017-08-15
    • 2012-03-12
    相关资源
    最近更新 更多