我收到回复错误请任何人尝试解决我的问题。我想解决这个问题,但我没有解决这个问题。请帮我。 提前谢谢
$scope.init = {};
var Call = $resource('../api/Home', {}, { query: { method: 'POST', isArray: false} });
$scope.init = function () {
//alert("hi");
$scope.selected = "";
var x = $('#txtSearch').val();
var _ReqObj = new Object();
_ReqObj.id = x;
_ReqObj.Meth = "GJ";
Call.query({}, _ReqObj,
function (response) {
alert(response);
alert(_ReqObj);
if (response == '') {
// alert('no data');
window.location.replace("index.html");
}
else {
//$scope.click = response;
$scope.init = response;
}
},
function (error) {
window.location.replace("index.html");
}
);
};
答案 0 :(得分:0)
错误消息显示:"包含对象但得到数组的预期响应"
这意味着:您的请求(Call.query)确实需要一个对象(您设置isArray:false)。但是服务器发送一个数组。所以服务器没有发送函数所期望的内容!
我想给你一些提示:
您为什么使用查询?查询通常用于从服务器获取数组,而不是单个对象。你为什么要使用查询?
您真的想要一个对象,还是想要一个对象列表?
服务器发送的是什么?在浏览器中打开开发控制台(ctr + alt + I在Chrome中),然后单击“网络”选项卡。单击请求(../api/Home)并检查服务器的响应。您应该看到服务器发送的json对象或数组作为对您的请求的响应。