angularjs 的$http.jsonp請求報錯,程式碼如下:
data = {
a:A,
b:B,
c:C,
}
$http.jsonp('url',data).success(function(res){
console.log(res);
}).error(function(err){
console.log(err);//控制台打印fasle
})
并报错:Uncaught SyntaxError: Invalid or Unexpected token url(请求链接)
點擊這個鏈接,拿到數據,在json在線校驗中校驗,發現B字段中有換行,但是用鏈接在瀏覽器中訪問也沒發現有換行。聯絡後台,後台說自己入庫的時候沒有換行符,我前端也拿不到數據,沒辦法處理,這種情況還有可能是啥原因,該怎麼解決?
仅有的幸福2017-05-15 17:16:04
謝邀,沒有看到地址哦,應該是回傳的資料格式有問題。
你可以在瀏覽器開啟https://www.w3schools.com/js/...,然後用開發者工具,查看Network面板查看HTTP資訊。
使用XMLHttpRequest物件請求資料範例
<!DOCTYPE html>
<html lang="en" ng-app="myapp">
<head>
<meta charset="UTF-8">
<title>Angular Repeat-Done Demo</title>
<script src="https://cdn.bootcss.com/angular.js/1.6.3/angular.min.js"></script>
</head>
<body ng-app="myapp">
<p ng-controller="AppCtrl">
<h4>Users List</h4>
<ul>
<li ng-repeat="member in members">
<p>
ID:<span>{{member.id}}</span>
Name: <span>{{member.login}}</span>
</p>
</li>
</ul>
</p>
<script type="text/javascript">
var myapp = angular.module("myapp", [])
.controller("AppCtrl", ['$scope', function ($scope) {
$scope.getMembers = function () {
let MEMBERS_URL = `https://api.github.com/orgs/angular/members?page=1&per_page=5`;
let xhr = new XMLHttpRequest();
xhr.open("GET", MEMBERS_URL);
xhr.onreadystatechange = () => {
if (xhr.readyState == 4 && xhr.status == 200) {
if (xhr.responseText) {
try {
// 手动触发脏值监测
$scope.$apply(function() {
// 在转JSON对象前,对xhr.responseText进行数据格式化
$scope.members = JSON.parse(xhr.responseText);
});
} catch (error) {
throw error;
}
}
}
};
xhr.send(null); // (6)
};
$scope.getMembers();
}])
</script>
</body>
</html>