搜尋

首頁  >  問答  >  主體

angular.js - $http.jsonp 請求報錯

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字段中有換行,但是用鏈接在瀏覽器中訪問也沒發現有換行。聯絡後台,後台說自己入庫的時候沒有換行符,我前端也拿不到數據,沒辦法處理,這種情況還有可能是啥原因,該怎麼解決?

曾经蜡笔没有小新曾经蜡笔没有小新2743 天前561

全部回覆(2)我來回復

  • 仅有的幸福

    仅有的幸福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>

    回覆
    0
  • 世界只因有你

    世界只因有你2017-05-15 17:16:04

    雷雷

    回覆
    0
  • 取消回覆