【发布时间】:2013-09-03 09:04:55
【问题描述】:
我正在使用AngularJS 构建一个应用程序,并且我有一个登录表单,我想从中发送JSON 数据作为请求正文。
在我的控制器中;
$scope.credentials = {userid: $scope.userid, password: $scope.password};
$scope.login = function () {
$http({
method : 'POST',
url : 'http://localhost/login.json',
data : $scope.credentials,
headers: {'Content-Type': 'application/json'}
}).success(function (data) {
// code
}).error(function (data, status, headers, config) {
$scope.status = status + ' ' + headers;
console.log($scope.status);
});
};
但是当我提交表单时,POST 请求没有执行,并且我在控制台中收到一条消息,例如;
0 function (name) {
"use strict";
if (!headersObj) headersObj = parseHeaders(headers);
if (name) {
return headersObj[lowercase(name)] || null;
}
return headersObj;
}
我在这里做错了什么?
如果我换行
headers: {'Content-Type': 'application/json'}
到
headers: {'Content-Type': 'application/x-www-form-urlencoded'}
正在发出 POST 请求。但我不想将其作为表单值发送,而是将请求作为 JSON 发送。
【问题讨论】:
-
查看 chrome\ firebug 浏览器控制台,了解发出的请求和收到的响应。
-
没有发出请求,而是显示一条消息,就像我在问题中粘贴的那样。
-
如果
myurl是一个字符串变量,它不应该有引号'' -
url 实际上不是'myurl'。我只是在我的问题中使用它。编辑了我的问题。请看一看。
-
你在服务器上使用什么来处理请求? Web 框架可能不接受帖子的“应用程序/json”内容类型。 POST json 时返回什么状态码?