recherche

Maison  >  Questions et réponses  >  le corps du texte

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 Il y a quelques jours565

répondre à tous(2)je répondrai

  • 仅有的幸福

    仅有的幸福2017-05-15 17:16:04

    Merci pour l'invitation. Je n'ai pas vu l'adresse. Il devrait y avoir un problème avec le format des données renvoyées.
    Vous pouvez ouvrir https://www.w3schools.com/js/... dans le navigateur, puis utiliser les outils de développement pour afficher le panneau Réseau afin d'afficher les informations HTTP.

    Exemple d'utilisation de l'objet XMLHttpRequest pour demander des données

    <!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>

    répondre
    0
  • 世界只因有你

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

    $(document).ready(function(){
    
            $.ajax({
                type: "get",
                async: false,
                url: url,
                dataType: "jsonp",
                jsonp: "callback",
                jsonpCallback:"JSON_CALLBACK",
                success: function(json){
                    if (json) {
                        try {
                            // 手动触发脏值监测
                            $scope.$apply(function() {
                                console.log(json);
                            });
                        } catch (error) {
                            throw error;
                        }
                    }
                },
                error: function(err){
                    console.log(err);
                }
            });
    
        });

    répondre
    0
  • Annulerrépondre