2014-02-20 31 views
0

我想发布嵌套的JSON参数到我的rails应用程序。它的工作原理与jQuery的AngularJS:发布嵌套的JSON参数

$.ajax({ 
       type : 'POST', 
       dataType : 'json', 
       url : 'https://example.com/users/sign_in.json',         
       data : { 
        user : { 
         email : $('input[name="email"]').val(), 
         password : $('input[name="password"]').val() 
        } 
       } 
      }).success(... 

但它是如何与AngularJS工作?发布非嵌套参数的工作原理:

$http({ method: 'POST', 
      url: 'https://xxx.herokuapp.com/users/sign_in.json', 
      data: {email: $scope.user.email, password:$scope.user.password} 
      }).success(... 

但是,如何发布嵌套参数?有任何想法吗?先谢谢你!

+0

它应该以同样的方式工作。当您尝试将其与用户{}对象一起发布时会发生什么? –

+0

什么不适用于它?你的角色例子不是嵌套的,它是一个简单的对象。 – tymeJV

回答

3

你的例子实际上是不同的,在你的jQuery一个IE浏览器,你有一个user JSON对象,但你在你的角度一个不这样做,你只是给emailpassword和避风港”牛逼其实他们包裹在user

你有没有试图改变这一点:

data: {email: $scope.user.email, password:$scope.user.password} 

此:

data: { user : { email: $scope.user.email, password:$scope.user.password } } 
2

而是数据使用参数。我希望它能帮助

$http({ 
       method: 'POST', 
       url: 'https://xxx.herokuapp.com/users/sign_in.json', 
       params: {email: $scope.user.email, password:$scope.user.password } 

    }).success(function (response, status, headers, config) { 
+0

我的JSON应该看起来像:{user:{email:“[email protected]”,password:“secret”}}。但它看起来像:{email:“[email protected]”,密码:“secret”} – sebvst

+0

params用于'GET'方法,数据用于'POST'方法 – Matthew