搜索

首页  >  问答  >  正文

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 天前564

全部回复(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
  • 取消回复