我想使用Angular从Solr服务器获取数据(并将结果放在表中)。
我写了我的Angular控制器,我使用了$ http。像这样:
var myApp_1 = angular.module('myApp_1', []);
myApp_1.controller('RequestCtrl', ['$scope', '$http', function ($scope, $http){
$scope.title = {};
$scope.response = {};
var url = "http://10.1.1.1:8983/solr/testCore/select?q=*%3A*&wt=json&callback=jsonp_callback";
$http.jsonp(url)
.success(function (data){
console.log(data.response);
}).error(function (data) {
console.log('Error');
});
}]);
但它给了我控制台消息: SyntaxError:missing;在声明之前。 我看到错误来自服务器答案的形状;这是:
{"responseHeader":
{"status":0,"QTime":1,"params":
{"q":"*:*","callback":"jsonp_callback","wt":"json"}},
"response":{"numFound":5,"start":0,"docs":[
{"id":"123456789",
"title":["45e"],
"_version_":1506864900238999552},
{"id":"12",
"title":["aeuirs"],
"_version_":1506865190152437760}
]}}
(我在这里缩进它是因为它非常难以辨认,但不是很多,因为StackO编辑很难。)
我不能在我的网址中写& wt = jsonp(它不起作用)。
Firebug说我错误是在“responseHeader”之后:显然,它应该是一个;而不是:
有什么想法吗?
答案 0 :(得分:0)
正确的参数名称应为json.wrf
(或您想要/需要的任何回调名称 - 重要的是{{1}})。
Uploading files to an ownCloud server programatically
json.wrf = function - 在JSON响应周围添加一个包装函数,在AJAX中非常有用,带有用于指定JavaScript回调函数的动态脚本标记。