javascript - 跨域,我的jsonp方式对不,为什么一直报错啊
高洛峰
高洛峰 2017-07-05 10:41:03
0
6
738


这个ajax请求收的路径,对不?

我的跨域方式写的对不,为什么一直控制台一直报错

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(6)
迷茫

Uncaught SyntaxError: Unexpected token : 类似这种错误就是返回的json数据没用“(”和“)”小括号包起来或者前面没加callback值而引起的。

黄舟

服务端程序有问题,js执行出错

我想大声告诉你

设置jsonp参数,同时后台返回的数据需要包裹在你传的jsonp变量里面
前端:

$.ajax({
    url: 'xx',
    dataType: 'jsonp',
    jsonp: 'callback',
    ....
});

后台
callback(返回的数据)

小葫芦

url添加一个回调参数:jsoncallback=?,问号程序会自动生成相应的参数

后端程序接受这个参数,并将返回的数据包裹在这个回调函数中

eg:
PHP后端写法

$jsoncallback = $_GET['jsoncallback'];

$result = json_encode($data);

echo  $jsoncallback."(".$result.")";//后端要以这种格式返回数据才能实现跨域
exit;

你的返回值没有包裹在或回调函数中

洪涛

jsonp不应该是js里面的src引入,然后在js里面调用callback()

滿天的星座

JQ中jsonp的话,要在查询字符串中加一个callback=?字段

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板