Php 将函数的可变结果返回到Ajax响应

Php 将函数的可变结果返回到Ajax响应,php,jquery,ajax,laravel,Php,Jquery,Ajax,Laravel,这是我的Ajax调用: $("#cover-input").change(function(){ var file_data = $("#cover-input").prop("files")[0]; var form_data = new FormData(); form_data.append("cover_file", file_data); //kaherdin $.ajax({ url: 'update-cover', type: 'POST', dataTy

这是我的Ajax调用:

$("#cover-input").change(function(){
var file_data = $("#cover-input").prop("files")[0];
var form_data = new FormData();
form_data.append("cover_file", file_data);
//kaherdin
$.ajax({
    url:  'update-cover',
    type: 'POST',
    dataType: 'script',
    data: form_data,
    contentType: false,
    processData: false,
    async: false,
    success: function(resp){
        console.log(resp);
    },
    error: function(err){
        console.log('Likes error', err);
    }
});
    readURL_cover(this);
});
我有一个功能,基本上修剪和上传文件的变化

 public  function  updateCover(Request $request) {
    $user = Sentinel::check();
    $destinationPath = public_path('uploads/users');

    if ($fileCover = $request->file('cover_file')) {
        $input_cover = time().'.'.$fileCover->getClientOriginalExtension();
        $img = Image::make($fileCover->getRealPath());
        $img->fit(1920, 555, function ($constraint) {
            $constraint->aspectRatio();
        })->save($destinationPath.'/'.$input_cover);
       // $user->cover = $input_cover;

        $response = $input_cover;          
        return $response;
    }
但这让我犯了个错误。我只想把input_cover恢复到我的ajax调用中,这样我就可以显示更新的图片了。
如果我将:$response=$input\u cover更改为$response=[$input\u cover];这是一个复杂的工作,但是输入像:[my_pic.jpg],所以它不好

您应该返回一个JsonResponse,如下所示:

return response()->json(['input_cover' => $input_cover]);

检查json中的响应及其工作方式

错误是什么?您似乎从未在PHP脚本中调用该函数。如错误对象{readyState:4,getResponseHeader:function,getAllResponseHeaders:function,setRequestHeader:function,OverrideMetimeType:function…}在此处进行调用:$.ajax{url:'update cover',但这给了我一个错误,你想和我们分享一下你得到了什么错误,还是我们只是做一些猜测??太好了!如果我只需要输入变量的名称?我可以用JS来做,这是更好的方法吗?