Angularjs不允许在url参数中使用方括号 - '['

时间:2015-07-04 06:54:45

标签: javascript php jquery angularjs angularjs-http

我想打电话和外部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');
 });

2 个答案:

答案 0 :(得分:0)

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

尝试"user[token]"

答案 1 :(得分:0)

您可以通过数组的索引表示法设置密钥,因为您要动态设置@(Html.Kendo().Grid<Project>().Name("Projects").Columns( cols => { cols.Bound(m => m.LetterNumber); cols.Bound(m => m.CityName); cols.Bound(m => m.OrganName); cols.Bound(m => m.DateString); cols.Bound(m => m.EngineersCount); cols.Bound(m => m.ExpertTypeString); cols.Bound(m => m.ProjectId).Title("").ClientTemplate("#switch(State){case 0:#" + "<a href='" + @Url.Action("SelectEngineers") + "?pid=#=ProjectId#'>انتخاب مهندسین</a>" + "#break;case 1:#" + "<a href='" + @Url.Action("Print") + "?pid=#=ProjectId#'>چاپ نامه</a>" + "<a href='" + @Url.Action("SelectEngineers") + "?pid=#=ProjectId#'>انتخاب مهندسین</a>" + "#break;}#"); }).DataSource( ds => ds.Ajax().Read("GetList", "Projects")).DoConfig() )

<强>代码

user['token']