【问题标题】:Angularjs not allowing square brackets in the url parameter - '['Angularjs 不允许在 url 参数中使用方括号 - '['
【发布时间】:2015-09-21 22:44:33
【问题描述】:

我要调用和外部api

如果我有这样的参数,它工作正常

$http.post('http://api.myprivatebox.com/users.json', { email : email, password : password}).then(function (results) 
 {
    console.log('mid');
 });

但是当我使用像user[token]这样的参数时

它显示Uncaught SyntaxError: Unexpected token [ 错误

那么,我如何发送带有[ 方括号的参数

这样

$http.post('http://api.myprivatebox.com/users.json', { email : email, password : password, user[token] : token}).then(function (results) 
 {
    console.log('mid');
 });

【问题讨论】:

    标签: javascript php jquery angularjs angularjs-http


    【解决方案1】:

    user[token] 不是有效密钥。你必须用引号括起来!

    试试"user[token]"

    【讨论】:

      【解决方案2】:

      您可以通过数组的索引表示法来设置键,因为您想动态设置user['token']

      代码

      var formData = { email : email, password : password};
      
      formData[user['token']] = token; //assuming user & token object has already defined
      
      //user[token] : token
      
      $http.post('http://api.myprivatebox.com/users.json', formData).then(function(results) {
          console.log('mid');
      });
      

      【讨论】:

      • 获取ReferenceError: user is not defined
      • @CableRaja 这就是为什么我说你应该在使用之前定义用户价值..
      • 我应该这样定义吗? var user =""
      • @CableRaja 不,它应该有 var user = {"token": 'something' } 可以解释一下你到底想做什么?
      • @CableRaja 你的控制器中有token 值吗?
      猜你喜欢
      • 2017-10-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-22
      相关资源
      最近更新 更多