Jquery Ajax跨域,响应非标准格式 报错

gwf25sz 2015-11-11 05:06:39
var url = 'http://cat.xxxxx.com/x/r';
$.ajax({
url: url,
type: 'get',
dataType: 'jsonp',
data: {
op: 'graphs',
domain: mark,
date: dataString,
ip: 'All',
type: 'xxxx',
force: 'xml'
},
async: false,
success: function (data) {
alert(1);
//console.log(data);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
//状态:200
}
});

由于是跨域调用,所以用了jsonp,但服务端给我的响应是非标准格式,连success都没进入。
错误信息:
Uncaught SyntaxError: Unexpected token <

1.有没有办法,拿到响应内容?
2.有没有办法不要对响应内容做转换?
PS:特殊原因,服务端不能做任何修改
...全文
67 点赞 收藏 6
写回复
6 条回复
引用 5 楼 gwf25sz 的回复:
我写程序去拉的是自己公司站点的数据,存在一定机密性,所以拒绝代理
那就在你自己站点做代理,服务器端没有跨域限制,不要再客户端直接请求跨域的页面,而是请求你本站的代理页
回复 点赞
gwf25sz 2015年11月11日
我写程序去拉的是自己公司站点的数据,存在一定机密性,所以拒绝代理
回复 点赞
引用 3 楼 gwf25sz 的回复:
[quote=引用 1 楼 showbo 的回复:] 用yql转为jsonp数据,如果数据源不是json格式的,而是html,注意format配置 yql jsonp示例
有没有不用代理方式的(如果限制了外网的访问权限呢)[/quote] 限制外网那你还怎么获取外网数据。如果yql被拦截,那你只能陪着浏览器允许跨域请求 IE7+浏览器下XMLHttpRequest跨域请求安全配置 配置firefox允许ajax跨域请求 chrome完全取消同源访问策略控制
回复 点赞
gwf25sz 2015年11月11日
引用 1 楼 showbo 的回复:
yql转为jsonp数据,如果数据源不是json格式的,而是html,注意format配置 yql jsonp示例
有没有不用代理方式的(如果限制了外网的访问权限呢)
回复 点赞
yql转为jsonp数据,如果数据源不是json格式的,而是html,注意format配置 yql jsonp示例
回复 点赞
发动态
发帖子
JavaScript
创建于2007-09-28

5.1w+

社区成员

22.3w+

社区内容

Web 开发 JavaScript
社区公告
暂无公告