Вернуть переменный результат функции в ответ Ajax

-1

Это мой вызов 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_cover до $ response = [$ input_cover]; это kinkds работы, но вход такой как: ["my_pic.jpg"], так что это не приятно.

  • 0
    В чем ошибка? Вы никогда не вызываете функцию в скрипте PHP.
  • 0
    Любит ошибку Object {readyState: 4, getResponseHeader: function, getAllResponseHeaders: function, setRequestHeader: function, overrideMimeType: function…} Вызов производится здесь: $ .ajax ({url: 'update-cover',
Показать ещё 1 комментарий
Теги:

1 ответ

2
Лучший ответ

Вы должны вернуть JsonResponse так:

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

Проверьте это для ответов в json и как они работают https://laravel.com/docs/5.4/responses#json-responses

  • 0
    Большой ! А если мне просто нужно имя моей переменной? Я могу сделать это в JS, это лучший способ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню