Javascript 根据另一个$http.get()中的选择执行$http.get()
我现在正在对plunker进行概念验证。我试图用从Javascript 根据另一个$http.get()中的选择执行$http.get(),javascript,json,angularjs,Javascript,Json,Angularjs,我现在正在对plunker进行概念验证。我试图用从$http.get()中提取的数据填充下拉列表,根据用户选择,我想对另一个RESTAPI进行另一个$http.get()调用,获取相关数据并在ng repeat列表中使用它。目前我有第一部分工作,但我不知道如何打第二个电话。我正在为第一组数据使用假RESTAPI,并用id填充下拉列表,其中有100个。其次,我想让用户从下拉列表中选择1-100,并根据他们的postId显示来自fake rest api的匹配电子邮件集,其中有500封 我希望这有足
$http.get()
中提取的数据填充下拉列表,根据用户选择,我想对另一个RESTAPI进行另一个$http.get()
调用,获取相关数据并在ng repeat
列表中使用它。目前我有第一部分工作,但我不知道如何打第二个电话。我正在为第一组数据使用假RESTAPI,并用id
填充下拉列表,其中有100个。其次,我想让用户从下拉列表中选择1-100,并根据他们的postId
显示来自fake rest api的匹配电子邮件集,其中有500封
我希望这有足够的道理。是我有1/2的工作方式
编辑以澄清:
中的选项应该是所有的id
。有100个唯一的id
的
应该是与上面找到的
具有相同postId的相应的电子邮件
因此,如果我从下拉列表中选择1
,我希望这些邮件组成列表:
{
"postId": 1,
"id": 1,
"name": "id labore ex et quam laborum",
"email": "Eliseo@gardner.biz",
"body": "laudantium enim quasi est quidem magnam voluptate ipsam eos\ntempora quo necessitatibus\ndolor quam autem quasi\nreiciendis et nam sapiente accusantium"
},
{
"postId": 1,
"id": 2,
"name": "quo vero reiciendis velit similique earum",
"email": "Jayne_Kuhic@sydney.com",
"body": "est natus enim nihil est dolore omnis voluptatem numquam\net omnis occaecati quod ullam at\nvoluptatem error expedita pariatur\nnihil sint nostrum voluptatem reiciendis et"
},
{
"postId": 1,
"id": 3,
"name": "odio adipisci rerum aut animi",
"email": "Nikita@garfield.biz",
"body": "quia molestiae reprehenderit quasi aspernatur\naut expedita occaecati aliquam eveniet laudantium\nomnis quibusdam delectus saepe quia accusamus maiores nam est\ncum et ducimus et vero voluptates excepturi deleniti ratione"
},
{
"postId": 1,
"id": 4,
"name": "alias odio sit",
"email": "Lew@alysha.tv",
"body": "non et atque\noccaecati deserunt quas accusantium unde odit nobis qui voluptatem\nquia voluptas consequuntur itaque dolor\net qui rerum deleniti ut occaecati"
},
{
"postId": 1,
"id": 5,
"name": "vero eaque aliquid doloribus et culpa",
"email": "Hayden@althea.biz",
"body": "harum non quasi et ratione\ntempore iure ex voluptates in ratione\nharum architecto fugit inventore cupiditate\nvoluptates magni quo et"
},
{
因此,当选择1
时,我希望我的列表如下所示:
- Eliseo@gardner.biz
- 杰恩_Kuhic@sydney.com
- Nikita@garfield.biz
- Lew@alysha.tv
- Hayden@althea.biz
希望这有助于澄清问题。这里发生了很多事情:
- 您希望将用于筛选的on change功能与选择功能分开
- 您希望利用ng模型在回调中进行选择
- 您只想在选择后加载
ul
的记录
- 理想情况下,postId的过滤应该是服务器端的,因此您只需要获得所需的数据;当然,没有服务器,只有一个简单的文件
GET
,您对此无能为力,但我会将其添加到$http.GET()
,而不是html,因为这是执行GET的地方(实际上,我会将其提取到服务中,但这是一个完全不同的问题)
我为您更新了plunkr以使select正常工作
实际上,您甚至不需要filter()
回调,因为您在ul
的ng repeat
中正确地使用了它,所以我取消了它。改用更新后的plunkr看起来你做对了。在onChange()
函数中未定义Justsearch()
。在这里,您可以调用$http.get()
并通过将信息应用到$scope.records
来填充数据字段。对不起,我不能100%确定您想说什么。你能再详细解释一下吗?嗯,也许我没有完全理解。现在,它获取所有帖子,并将它们填充到ul
和select
下拉列表中。然后,当您选择其中一个时,它将调用未定义的search()
函数。你到底想让它做什么?交叉线。呵呵。请关注我的第二条评论。您希望从ul
、选择和输入中得到什么行为?我想搜索只是刚刚测试出来的东西。在html上,我有{{item.email}}
,现在这是假的。我希望这是来自第二个假的RESTAPI的所有电子邮件,它们的postId
与下拉列表中选择的内容相同。天哪,莫利。你是一个传奇。虽然我仍然想使用搜索、筛选和更改,但您给了我一个极好的开始。太好了,先生。你会让我脸红的!不,只是在同样的问题上挣扎着向前看。好好利用它。