我正在尝试学习angularjs,所以今天我尝试使用资源。 看起来它在语法和方法调用方面都很出色,
请先打开FIDDLE
最初我尝试使用$ http POST,看起来很有效
$http({url: '/register.php', method: "POST",
data: { 'message' : {userName:'ravi'}}});
使用PHP代码:
$data = file_get_contents("php://input");
$objData = json_decode($data);
....
....
//insert stmt to mysql
接下来,当我尝试使用$ resource时,使用
在registerController中
authProviders.saveUser($scope.newuser);
在authProviders服务中:
return $resource(AppConstants.ServerPath + '/register.php/:registerId', {registerId: '@registerId'},{ saveUser: { method: 'POST', params: { message: {userName:'ravi'} }, isArray: false } });
调用就像get方法一样。 请你的身体在这些中纠正我。
我的问题: 当您填写表格并提交小提琴时,控制台中的URL看起来像
http://fiddle.jshell.net/register.php?message=%7B%22userName%22:%22ravi%22%7D 这看起来像GET方法,即使通过方法类型是POST
先谢谢。
答案 0 :(得分:0)
从资源中删除参数:
return $resource(AppConstants.ServerPath + '/register.php/:registerId',
{registerId: '@registerId'},{
saveUser: {
method: 'POST',
params: { message: {userName:'ravi'} }, //Remove This
isArray: false
}
});
答案 1 :(得分:0)
如果你想使用GET方法,那么你必须说
方法:' GET' ,
参数:{message:{userName:' ravi'}},
如果你想把它作为POST,那么
方法:' POST' ,
数据:{message:{userName:' ravi'}},