嗨,在我的要求中,我尝试使用ngresource编写post方法,但现在我想将其更改为get方法。任何人都可以帮我解决这个问题。我是提前感谢angularjs的新手
$scope.clickresult = {};
var Call = $resource('../api/Home', {}, { query: { method: 'POST', isArray: true} });
$scope.click = function () {
//alert("hi");
$scope.selected = "";
var x = $('#txtSearch').val();
var _ReqObj = new Object();
_ReqObj.id = x;
_ReqObj.Meth = "CD";
// alert(x);
Call.query({}, _ReqObj,
function (response) {
if (response == '') {
// alert('no data');
window.location.replace("#/");
}
else {
//alert("daata");
$scope.message = response;
}
},
function (error) {
window.location.replace("#/");
}
);
};
答案 0 :(得分:0)
以下是一些初步帮助,以便您可以自行解决未来的问题。
<强> 1。使用开发人员工具查看错误,请求和回复:https://developers.google.com/web/tools/chrome-devtools/
从菜单中打开工具或在Mac上使用cmd + alt + I或在Windows上使用ctrl + shift + I.
在开发人员工具的“网络”选项卡中,您可以看到与服务器的通信(例如,请求方法= GET,来自服务器的响应)。在“预览”选项卡中,您可以看到服务器发送给您的json。如果您在查找时遇到问题,请告诉我,因为在您的代码中找到错误非常重要。
<强> 2。使用日志记录!
在angular中,您可以在代码中添加$ log,使用$ log.log(“message”,object)可以从代码中输出调试消息和对象的当前状态。您可以在“控制台”选项卡中的开发人员工具中查看日志消息。
第3。阅读文档
Angular提供了其功能的文档和示例。阅读有关$ resource service https://docs.angularjs.org/api/ngResource/service/ $ resource
的信息了解GET和POST方法之间的区别。
<强> 4。从教程中尝试一个简单的示例,并尝试根据您的需求进行调整
从互联网复制一个简单的资源示例并使其正常工作。如果可行的话,一步一步地改变它,直到它成为你需要的东西。
<强> 5。例如:
您的服务器端脚本如何工作?在你的问题中,我只能看到角度代码。如果要使用GET方法,服务器必须提供对GET做出反应的函数。
$ resource服务已经提供了一种查询方法:
{ 'get': {method:'GET'},
'save': {method:'POST'},
'query': {method:'GET', isArray:true},
'remove': {method:'DELETE'},
'delete': {method:'DELETE'} };
通常,您不需要在代码中添加“{query:{method:'POST',isArray:true}”。查询功能已经存在!
使用您只需要的查询功能发送GET请求:
var Call = $resource('../api/Home', {});
现在打开您的开发人员工具,转到网络选项卡,然后在您的网站中执行$ scope.click功能。您在“网络”标签中看到了什么?请求应使用“请求方法:GET”触发。服务器的答案是什么?问题可能不在你的角度代码中,而在你的服务器代码中。
试试这些事情并告诉我你是否需要更多帮助。