#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][‘страна’]; . Как передать это значение?