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:特殊原因,服务端不能做任何修改
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
Go 旅城通票 2015-11-12
  • 打赏
  • 举报
回复
引用 5 楼 gwf25sz 的回复:
我写程序去拉的是自己公司站点的数据,存在一定机密性,所以拒绝代理
那就在你自己站点做代理,服务器端没有跨域限制,不要再客户端直接请求跨域的页面,而是请求你本站的代理页
gwf25sz 2015-11-11
  • 打赏
  • 举报
回复
我写程序去拉的是自己公司站点的数据,存在一定机密性,所以拒绝代理
Go 旅城通票 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示例
有没有不用代理方式的(如果限制了外网的访问权限呢)
Go 旅城通票 2015-11-11
  • 打赏
  • 举报
回复
yql转为jsonp数据,如果数据源不是json格式的,而是html,注意format配置 yql jsonp示例

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧