【问题标题】:I can't get variables with put method - xmlhttprequest - laravel我无法使用 put 方法获取变量 - xmlhttprequest - laravel
【发布时间】:2023-03-06 13:04:01
【问题描述】:

我想保存我的图像数据并且我正在使用 XMLHttpRequest,我也可以发送 json 数据,我可以在开发者控制台上看到它们(在参数部分)。但是当我不能在服务器端使用它们时,$request 似乎为空?

这是我的 javascript 代码;

 document.querySelectorAll('.galeri-cart').forEach(function (image) {
    image.addEventListener('click',function () {

// update stuff

document.getElementById('submit_button').addEventListener('click',function () {
      let xhr = new XMLHttpRequest(),
          token = document.head.querySelector("[name=csrf-token]").content;
      xhr.open('PUT','images/update/'+id,false);
      xhr.setRequestHeader('X-CSRF-TOKEN',token);
      xhr.onload = function () {
             swal("Updated successfully", {
                  icon: "success",
                    });

                   };
     let data = {};
         data.alt = altInput.value;
         data.url = urlInput.value;

     xhr.send(JSON.stringify(data))
              })
         })
     });

这是在我的控制器中;

public function updateMedia(Request $request, $id) {
   $image = Media::find($id);
   $image->image_alt_name = $request->input('alt');
   $image->image_path = $request->input('url');
   $image->save();

   return json_endcode($request);
    }

路线; (图片前缀下的这条路线)

Route::put('update/{id}',['as'=>'media.update','uses'=>'MediaController@updateMedia']);

那么,你有什么建议吗?我在这里有什么问题?并感谢四位您的帮助:)

【问题讨论】:

  • 我们可以查看您的web.php 文件吗?
  • 我编辑了我的问题

标签: javascript json laravel laravel-5 xmlhttprequest


【解决方案1】:
  xhr.open('PUT','images/update/'+id,false);

您的路径包含一个额外的images,而您的web.php 仅显示/update/{id} 而没有images

【讨论】:

  • 我有“图片”前缀
【解决方案2】:

ajax请求中的url和laravel路由中的不一样

AJAX ---> "images/update/"
Laravel Route ---> "update/"

【讨论】:

  • 我有图片前缀
  • 你的 'put' 路由是嵌套的,对吗?为什么不在控制器中尝试 $request()->json()->all(); 而不是 $request->input() 以便能够看到您的所有输入。
  • 嗯,那么我如何在控制器中使用它
  • 先用var_dump看看请求有没有输出。 $request->json()->all() 产生一个数组输出。换句话说,你应该有一个像 ["alt" =>"your_value", "url"=>"your_value"] 这样的输出。
  • 而且 laravel 也有自己的 dd() 方法:)
猜你喜欢
  • 1970-01-01
  • 2013-08-08
  • 2016-05-01
  • 2014-12-23
  • 2021-10-11
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 2018-06-10
相关资源
最近更新 更多