使用Django Rest Framework
+ React
写一个应用,中间需要使用 jquery
读取api
服务的json数据,反复出现Uncaught SyntaxError: Unexpected token <
错误,花了半天时间谷歌,万能的stackoverflow.com
上的答案貌似都不对题。万幸找到了这个页面,Bingo!
出现这个错误的原因是:
你链接到的JavaScript文件返回404了页面。 换句话说,浏览器正在期待JavaScript(或json),但它返回了HTML结果。
可不是吗?HTML页面第一个字符肯定是<
!
重新检查我的代码:
……
componentDidMount() {
const url = 'http://localhost:8000/grads/';
$.ajax({
headers:{
'Content-Type':'application/x-www-form-urlencoded'
},
type:"GET",
dataType:"json",
data:{},
success: function(result){
this.setState({grades:result,})
},
error: function(xhr, status,error){
var err = eval("(" + xhr.responseText + ")");
console.log(err.Message);
}
});
}
……
我没有给ajax
的url
赋值!愚蠢的低级错误!马上加上url赋值语句,于是终于……又出现了另一个新的错误!好吧,至少我又跨过了一个坑。 ¯_(ツ)_/¯