Javascript 无法使用Angular JS发布

Javascript 无法使用Angular JS发布,javascript,php,angularjs,Javascript,Php,Angularjs,您好,我正在尝试使用AnguarJs发布数据,但有一些问题。我的js代码如下: var app = angular.module('myApp', []); app.constant('appUrl', 'http://localhost/zara/rest/'); /*---- categories fetch code -------*/ app.controller('myController',['$scope','$http','appUrl', fu

您好,我正在尝试使用AnguarJs发布数据,但有一些问题。我的js代码如下:

    var app = angular.module('myApp', []);
    app.constant('appUrl', 'http://localhost/zara/rest/');
 /*---- categories fetch code  -------*/  
    app.controller('myController',['$scope','$http','appUrl',  function($scope, $http , appUrl) {

      $scope.newName = "";
    $scope.postForm = function() {  
        var data = $.param({
                name: $scope.newName
            });

        $http.post("http://localhost/zara/rest/api_customerlogin.php", data).success(function(data, status) {
            $scope.hello = data;
            console.log(data);
        });
     };
  }]);
我得到了这个错误
TypeError:无法读取未定义的属性'param',当我将代码更改为类似于这个时,我得到了这个错误

<script>
    angular.module('myApp', [])
    .controller('myController', ['$scope', '$http', function($scope, $http) {
        this.loginForm = function() {

            var user_data='user_email=' +this.inputData.email+'&user_password='+this.inputData.password;

            $http({
                method: 'POST',
                url: 'login.php',
                data: user_data,
                headers: {'Content-Type': 'application/x-www-form-urlencoded'}
            })
            .success(function(data) {
        console.log(data);

            })
        }

    }]);
    </script>

angular.module('myApp',[])
.controller('myController',['$scope','$http',函数($scope,$http){
this.loginForm=函数(){
var user_data='user_email='+this.inputData.email+'&user_password='+this.inputData.password;
$http({
方法:“POST”,
url:'login.php',
数据:用户数据,
标题:{'Content-Type':'application/x-www-form-urlencoded'}
})
.成功(功能(数据){
控制台日志(数据);
})
}
}]);

无法发布到login.html页面。这是我在AnguarJs上的第一个项目,因此不太熟悉。谢谢。

在您尝试发布到的第一个代码中

http://localhost/zara/rest/api_customerlogin.php

您是否忘记将第二个示例中的
login.php
更改为此url?

请注意,在您为浏览器添加allow orgin access插件之前,post请求可能无法在本地环境中工作。但它在实际工作的网站上起作用

var app = angular.module('myApp', []);

app.constant('appUrl', 'http://localhost/zara/rest/');

app.controller('myController',function($scope, service, appUrl){

   $scope.newName = "";
   $scope.loading = false;

   $scope.postForm = function() {

     var data = $.param({
            name: $scope.newName
         });

     $scope.loading = true;
     service.makeThisRequest(appUrl + 'api_customerlogin.php', data).then(function(data){
         $scope.hello = data;
         console.log(data);
      },function(error){
        console.log(error);
      }).finally(function(){
        $scope.loading = false;
      });

   });

}]);

app.factory('service', function ($http) {
    return {
      makeThisRequest : function(url,params){
        return $http.post(url,params);
      }
    };
});

你在服务文件app.serivce('service',[$http,function(){}])中试过了吗?没有,我只是用上面的代码试过代码。服务如何使用它?确切地说,
$.param对你有什么作用?!,将数据更改为
object
as
var data={name:$scope.newName}
这个错误是因为
$
jquery
jquery.param
相关的
$/code>是未定义的,另外一件事更好,如果你在angular中使用
$http
作为服务。第二件事,我只是用一个伪URL粘贴代码。URL更改对代码没有影响。解释
$.param
请?!这是为了什么?创建适合在URL查询字符串或Ajax请求中使用的数组、普通对象或jQuery对象的序列化表示。在传递jQuery对象的情况下,它应该包含具有名称/值属性的输入元素。我已经在PHP端添加了允许源代码。那么您得到了什么?