jsonp跨域请求资源报错

当使用dataType:'jsonp'进行跨域请求时,若服务器返回的数据不是JSONP格式,会导致请求错误。解决方法包括在本地服务器创建一个.php文件作为中介,通过它来获取远程跨域资源。同时,确保PHP的curl扩展已开启,可以修改php.ini或在WAMP中启用。此问题涉及到前端的跨域策略和后端的响应格式处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

错误:

 原因:

        请求资源服务器返回的是 json 对象,非 jsonp 格式数据。

        dataType:'jsonp' 设置请求跨域资源,返回 jsonp 格式数据。跨域的本质就是服务器返回一个方法调用,jsonp 格式应该类似 callback ( { json:obj } );

        总之,如果服务器返回的不是一个方法调用,jsonp 格式的跨域请求就会报错。

解决:

        前端代码受到同源策略限制,但如 .php,.jsp 等后端代码文件没有同源限制。

        在本地服务器搭建一个 .php 文件,前端页面只需要访问本地 .php 文件,通过本地 .php 文件获取跨域资源。

         使用 curl 要确认 curl 扩展已开启

       方法1.通过修改 php.ini 文件开启,修改后重启 Apache 服务器;

        方法2.在 WAPM 中启用 curl  

                PHP  >> PHP extensions >> curl

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值