需求如下:通过前端抓取自己segmentfault主页的前几篇文章请求部分的代码如下:$.ajax({ url: sfUrl, dataType: 'jsonp', success: function(data) { parseArticle(data); }, error: function(err) { console.log(err) } })运行结果如下:Uncaught SyntaxError: Unexpected token <见下图(第二行打出的是err信息)从Sources与Network的信息来看数据http事务是完成了数据也返回了个人认为是解析出现了问题,但是仍然不知道怎么解决。问题如下为什么会报错怎样解决这个问题
1 回答

拉风的咖菲猫
TA贡献1995条经验 获得超2个赞
问题解决了。
1.为什么会报错
JSONP返回的数据是应该是形如:
callback_function(html); //在上例中callback_function()就是success
然而由于返回的数据是html,所以在执行、callback_function(html)的时候,由于html的格式形如
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
这个样所作为一个参数执行就会报错,就是上面出现的:Uncaught SyntaxError: Unexpected token <
2.怎么解决
由于后台传回的就是html,这是我们不可改变的,而且向直接将html结构作为参数是总会出问题的 ,所以只能换一种跨域方式了。
添加回答
举报
0/150
提交
取消