javascript - ajax中的 textStatus 報錯為 parsererror?
問題描述
ajax中的 textStatus 報錯為 parsererror。
<!DOCTYPE html><html> <head><meta charset='UTF-8'><title></title> </head> <body><script src='http://www.lshqa.cn/wenda/js/jquery-1.8.0.min.js' type='text/javascript' charset='utf-8'></script><script src='http://www.lshqa.cn/wenda/js/jq.js' type='text/javascript' charset='utf-8'></script><script type='text/javascript'> $.ajax({type: 'GET',url: 'http://192.168.20.205:8080/platform/banner/bannerApi',async:true,dataType: 'jsonp', jsonp: 'callback',success:function(req){ console.log(req); }, error:function(XMLHttpRequest, textStatus, errorThrown) {alert(XMLHttpRequest.status);//400 alert(XMLHttpRequest.readyState);//2 alert(textStatus);//parsererror } });</script> </body></html>
求大神指點,之前真心沒有碰到這種問題,獲取其他方法也可以,坐等
問題解答
回答1:這個大概要結合后臺,指明一個名字為 jsonpCallback 參數吧。
回答2:返回的東西是jsonp格式嗎?
回答3:題主,這個是跨域問題如果后端是你寫的話你可以通過配置Cors,代碼如下,希望能幫到你,對了spring要掃描到
/** * Created by sunny on 2017/6/22. */public class CorsConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) {registry.addMapping('/**').allowedOrigins('*').allowCredentials(true).allowedMethods('GET', 'POST', 'DELETE', 'PUT').maxAge(3600); } @Override public void addInterceptors(InterceptorRegistry registry) {WebContentInterceptor webContentInterceptor = new WebContentInterceptor();CacheControl nocache = CacheControl.noCache();webContentInterceptor.addCacheMapping(nocache, '/**');registry.addInterceptor(webContentInterceptor); }}回答4:
后臺返回的dataType與ajax請求的dataType不一致
相關文章:
1. docker安裝后出現Cannot connect to the Docker daemon.2. Docker for Mac 創建的dnsmasq容器連不上/不工作的問題3. 關于Android權限的獲取問題,大家遇到過這樣的情況嘛?4. java報錯Communications link failure 該如何解決?5. javascript - 編程,算法的問題6. mysql - 用PHPEXCEL將excel文件導入數據庫數據5000+條,本地數據庫正常,線上只導入15條,沒有報錯,哪里的問題?7. javascript - 請教空白文本節點的問題8. 刷新頁面出現彈框9. android - 七牛單次上傳單張圖片,11次6次上傳失敗10. css - 關于border-image
