jsonp跨域请求远程接口时时出现SyntaxError: expected expression, got '<' 错误

$.ajax({
                    url:"localhost/index.html",
                    type:'GET',
                    dataType:'jsonp',  // 处理Ajax跨域问题
                    success: function(data){
                        //$('body').append( "Name: " + data );
                        console.log("ok");
                    }
                });

当我通过jsonp跨域请求远程接口时时出现SyntaxError: expected expression, got '<'  错误,那个接口返回xml格式的数据。网上查了些文档,说这是因为返回格式不正确到导致的。但是问题又来了,我将远程服务器返回的数据转为json格式。网上了找了相关资料,说截获返回的数据,强制转换,但我还是没解决。后来又看到有人在php 后台获取数据,jquery只是解析xml文件,还是没解决掉!

不知道楼主懂得jsonp是什么没有,jsonp说白了就是一段可以执行的js代码,如果你返回的代码有问题当然会出错

http://bbs.csdn.net/topics/391078208



https://zhidao.baidu.com/question/688668446982313964.html?qbl=relate_question_0&word=cross-domain-policy

crossdomain.xml是adobe搞的,为了让flash跨域访问文件。 

该配置文件放于服务器端的根目录下面。来设置让哪些域名下面的swf文件能够访问我服务器上的内容。 

比如:我的服务器上有个图片:IP
sina上面有个swf需要访问我的这个文件。 
配置文件该这样写: 

<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "ip/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
   <allow-access-from domain="*.sina.com" />
</cross-domain-policy>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值