【发布时间】:2015-06-10 01:09:05
【问题描述】:
我正在尝试使用 Angular JS 编写以下 Curl 命令。我对 AngularJS 很陌生,所以我可能缺少一些基本的东西。具体来说,这是一个移动应用程序,它使用 ionic 框架(使用 Angular JS)
curl 命令是这样的:
curl -X POST -d "username=xxxx&password=xxxx&action=login&view=console" http://myserver.com/zm/index.php?skin=xml
这可以从命令行完美运行。
在 AngularJS 中,我有以下代码:
angular.module('starter.controllers').controller('MonitorCtrl', function($ionicPlatform, $scope,$http)
{
console.log("***MAKING REQUEST");
//$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";
$http({
url:'http://myserver.com:9898/zm/index.php?skin=xml',
method:'post',
headers: {'Content-Type': 'application/x-www-form-urlencoded',
'Accept': '*/*',
},
transformRequest: function(obj) {
var str = [];
for(var p in obj)
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
var foo= str.join("&");
console.log ("****RETURNING "+foo);
return foo;
},
data: {username:'admin',
password:'xxxx',
action:'login',
view:'console'}
})
.success (function()
{console.log("****YAY");
})
.error(function(data, status, headers, config)
{
console.log("***OOPS "+status + " H: "+data);
});
});
当我运行此代码时,我看到一个 POST 请求发送到我的服务器(我正在使用 httpry 进行嗅探),并且从服务器返回了一个带有所需负载的 200OK,但没有调用我的成功处理程序。错误处理程序被调用,状态为 0
【问题讨论】:
标签: javascript angularjs curl