在 Axios 请求中对 API 使用相对寻址
using relative addressing for API inside Axios request
我正在开发一个应用程序,其中 URL/path 到 API 的 CRUD 函数定义如下:
var newApiAddresses = {
itemsGet: "<?php echo $view['router']->url('itembook_test_api_v1_apiitems_getitems'); ?>",
itemAdd: "<?php echo $view['router']->url('itembook_test_api_v1_apiitems_itemadd'); ?>",
itemEdit: "<?php echo $view['router']->path('itembook_test_api_v1_apiitems_itemedit', array('id' => null)); ?>",
itemDelete: "<?php echo $view['router']->path('itembook_test_api_v1_apiitems_itemdelete', array('id' => null)); ?>"
}
正如预期的那样,编辑和删除的路径收到一个 ID。现在在我的应用程序中,我可以创建一个 post 并使用以这种方式定义的 url 获取请求,如下所示:
handlePostItemToApi () {
axios.post(newApiAddresses.itemAdd, {
"itemId": 1,
"date": this.changeDateFormat(),
...
以上发送POST请求没有问题。但是当我需要编辑一个项目时,我需要以某种方式将 itemid 包含到这个 url 中。我试过这样做但是没有用
handleEditItemToApi () {
axios.put(newApiAddresses.itemEdit/{$id}, {
"itemId": 1,
"date": this.changeDateFormat(),
...
在上面 url 中包含 id 的正确方法是什么?我不能像 url 那样对 url 进行硬编码'http://localhost/app_dev.php/api/v1/items/{$id}' as shown in axios documentation
您可以按照以下方式使用反引号(不是通常的单引号)来完成,
axios.put(`newApiAddresses.itemEdit/{$id}`, {
或使用单引号作为,
axios.put('newApiAddresses.itemEdit/'+id, {
我正在开发一个应用程序,其中 URL/path 到 API 的 CRUD 函数定义如下:
var newApiAddresses = {
itemsGet: "<?php echo $view['router']->url('itembook_test_api_v1_apiitems_getitems'); ?>",
itemAdd: "<?php echo $view['router']->url('itembook_test_api_v1_apiitems_itemadd'); ?>",
itemEdit: "<?php echo $view['router']->path('itembook_test_api_v1_apiitems_itemedit', array('id' => null)); ?>",
itemDelete: "<?php echo $view['router']->path('itembook_test_api_v1_apiitems_itemdelete', array('id' => null)); ?>"
}
正如预期的那样,编辑和删除的路径收到一个 ID。现在在我的应用程序中,我可以创建一个 post 并使用以这种方式定义的 url 获取请求,如下所示:
handlePostItemToApi () {
axios.post(newApiAddresses.itemAdd, {
"itemId": 1,
"date": this.changeDateFormat(),
...
以上发送POST请求没有问题。但是当我需要编辑一个项目时,我需要以某种方式将 itemid 包含到这个 url 中。我试过这样做但是没有用
handleEditItemToApi () {
axios.put(newApiAddresses.itemEdit/{$id}, {
"itemId": 1,
"date": this.changeDateFormat(),
...
在上面 url 中包含 id 的正确方法是什么?我不能像 url 那样对 url 进行硬编码'http://localhost/app_dev.php/api/v1/items/{$id}' as shown in axios documentation
您可以按照以下方式使用反引号(不是通常的单引号)来完成,
axios.put(`newApiAddresses.itemEdit/{$id}`, {
或使用单引号作为,
axios.put('newApiAddresses.itemEdit/'+id, {