Передача значений в laravel через AJAX

#ajax #laravel

#ajax #laravel

Вопрос:

Я пытаюсь подключить свою базу данных и панель администратора, передав через нее некоторые данные.

Мой контроллер выглядит как // Получение данных о состоянии для отображения при редактировании mdoal через AJAX

 public function getblogdata(Request $request){
    $bloglists   = DB::table("bloglists")
    ->select(DB::raw("*"))
    ->where('bloglists.id' , '=', $request->uid)
    ->get();
    // $country = unserialize(base64_decode($bloglists[0]->country));
    // return response()->json( $country);
    // return response()->json( $bloglists, $country);
    return response()->json( $bloglists);
}
  

Примечание: Я пытался передать здесь несколько переменных, но не смог. Наконец-то остановились только на одной переменной.

Мой Ajax выглядит следующим образом

 $('.edit_blog_btn').on('click', function () {
        var blog_sel = $(this).data('uid');
        // console.log($(this).data('uid'));
        if (blog_sel) {
            $.ajax({
                type: "GET",
                url: "/get_blog_data?uid=" blog_sel, 
                dataType: "json",
                success: function (res) {     
                    // console.log(res);
                    if(res){
                        $.each(res, function (key, value){
                            $("#blog-edit-title").val(value.title);
                            $("#blog-edit-c_img").empty();
                            $("#blog-edit-c_img").append('<span>Cover Image - </span><span></span><img src="/storage/cover_images/' value.cover_img '" alt=" " class="img-responsive" id="blog-edit-c_img"/><input name="cover_img" type="file">');
                            $("#blog-edit-url").val(value.url);
                            var country = res[0]['country'];
                            var state = res[0]['state'];
                            var sight = res[0]['sight'];
                            var tags = res[0]['tags'];
                            console.log("the country tag is "   country  "the state tags is "  state  "the sight tag is " sight  "tha tag tag is"  tags );

                        });                            
                    } else {
                        alert('Something weird just happened');
                    }
                }
            });
        } else {
            $("#blog-id").empty();
        }
    });
  

Примечание: Я просто хочу передать 4 переменные вместе с другими данными для отображения в представлении

Комментарии:

1. куда вы хотите передать переменные? Вы можете использовать get-запрос с запросом или post-запрос с телом, например

2. Я хочу передать переменные (country, state, sight, теги) из AJAX в мое представление. Понятия не имею, как это сделать.

3. @AmitKhare Вместо того, чтобы редактировать мой ответ, чтобы задавать больше вопросов, улучшите свой OP и добавьте свои вопросы, чтобы мы знали, в чем проблема в вопросе, а не в ответе.

4. @senty приносит извинения за ошибку. это третий раз, когда я задаю вопрос о StackOverflow и не имел никакого намерения или идеи о OP. Я просто пытался передать проблему.

5. @AmitKhare Отредактируйте свой вопрос и добавьте подробности в сам вопрос по мере продвижения по пути и лучшего определения вашей проблемы (вместо того, чтобы редактировать приведенные ниже ответы). Или, если это просто, просто добавьте комментарии к связанным ответам

Ответ №1:

Вы должны вернуть [key => value] массив для return response->json() .

 public function getblogdata(Request $request){
    $bloglists   = DB::table("bloglists")
    ->select(DB::raw("*"))
    ->where('bloglists.id' , '=', $request->uid)
    ->get();

    $country = unserialize(base64_decode($bloglists[0]->country));

    return response()->json([
        'bloglists' => $bloglists,
        'country' => $country
    ]);
}
  

Теперь, в вашем ответе ajax after, попробуйте

 console.log(res.data);
console.log(response.data.bloglists)
console.log(response.data.country)
  

Комментарии:

1. Ребята, я все еще не могу передать значение через AJAX. X Кто-нибудь может помочь, пожалуйста. Например, var country = res[0][‘страна’]; . Как передать это значение?