Angularjs $http get 方法获取不带 CALLBACK 参数的 JSONP 数据[重复]

2024-04-06

我在表中打印服务器上的一些 JSON 时遇到问题。 这是我的 JSON

process([
{
    "name": "A",
    "value": "41"
},
{
    "name": "B",
    "value": "71"
},
{
    "name": "C",
    "value": "20"
}],"2017.07.11 15:48:33");

我的控制器:

myApp.controller('liveTable', function ($scope, $http) {

$http.get('http://something.com/get.php?jsonp=2017')
    .then(function (response) {
        $scope.myData= response.data;
        console.log(response.data);
    });

这是我的 HTML

 <div class="liveTable" ng-controller="liveTable">
             <table>
                <tr ng-repeat="item in myData.process">
                    <td>{{item.name}}</td>
                    <td>{{item.value}}</td>
                </tr>
            </table>

        </div>

知道我错在哪里吗? tnx


Try:

app.service("dangerousAPI", function($q) {
  this.get = get;

  function get(funcName, url) {
    var dataDefer = $q.defer();

    window[funcName] = function(x) {
      dataDefer.resolve(x);
    }

    var tag = document.createElement("script");
    tag.src = url;

    document.getElementsByTagName("head")[0].appendChild(tag);

    return dataDefer.promise;
  }
})
dangerousAPI.get('process',url).then(function(data) {
     $scope.myData= data;
     console.log(data);
})

有关更多信息,请参阅不是合法的 JSONP API https://stackoverflow.com/a/44752928/5535245


当我把{{myData}},我有完整的jsonp,

我很高兴您能够通过这个答案获取数据。它表明服务器没有返回合法的 JSON。服务器应修复为返回合法的 JSON 或合法的JSONP http://en.wikipedia.org/wiki/JSONP.

使服务器响应一个有效的JSONP http://en.wikipedia.org/wiki/JSONP数组,将 JSON 括在方括号 () 中并添加回调:

echo $_GET['callback']."([{'fullname' : 'Jeff Hansen'}])";
Using json_encode() will convert a native PHP array into JSON:

$array = array(
    'fullname' => 'Jeff Hansen',
    'address' => 'somewhere no.3'
);
echo $_GET['callback']."(".json_encode($array).")";

有关更多信息,请参阅简单的 PHP 和 JSONP 示例 https://stackoverflow.com/a/6809286/5535245

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Angularjs $http get 方法获取不带 CALLBACK 参数的 JSONP 数据[重复] 的相关文章

随机推荐