Я очень новичок в этом запросе ajax с использованием laravel, и в настоящее время я застрял. У меня возникли проблемы со вставкой sessionStorage из базы данных.
Например, у меня есть здесь, в моем sessionStorage:
Key Value
=================
gclid 12345
token abcde
Я хочу получить значение для значений gclid
или token
с помощью ajax и сохранить его в базе данных.
Здесь, в моем ajax, у меня возникли проблемы с тем, как получить эти значения параметров и сохранить их в моем db
. У меня есть это условие, чтобы получить key
параметров, подобных этой логике:
Это в моем контроллере:
if(key == gclid)
$traffic->traffic_type = $request->('gclid');
else if (key == token)
$traffic->traffic_type = $request->('token');
Как мне передать эти переменные в мой jquery и добавить запрос в мой контроллер, чтобы получить его с помощью ajax?
var gclid = sessionStorage.getItem('gclid');
var token = sessionStorage.getItem('token');
Аякс
// Tracking Parameters
function storeVisitorParameters() {
let url = '{{ route('trackvisit') }}';
var gclid = sessionStorage.getItem('gclid');
var token = sessionStorage.getItem('token');
const data = {};
$.ajax({
type: 'POST',
url: url,
data:data,
beforeSend: function (xhr) {
var token = $('meta[name="csrf-token"]').attr('content');
if (token) {
return xhr.setRequestHeader('X-CSRF-TOKEN', token);
}
},
complete: function() {
},
success: function (data) {
$.notify("Visitor Parameters Stored!", 'success');
},
error: function (xhr, ajaxOptions, thrownError) {
console.log('server errors', thrownError);
}
});
}
TrafficController.php
class TrafficController extends Controller
{
// Store gclid or token parameters to traffic_tacking_table
public function storeVisitorParameters(Request $request)
{
$traffic = new TrafficTracking();
$traffic->user_id = $user->user_id;
if($traffic->traffic_type = $request->gclid;) // check if key = gclid
{
$traffic->traffic_type = $request->gclid; // store the key in db
$traffic->traffic_value = $request->get('gclid');
}
else if ($traffic->traffic_type = $request->token) // check if key = token
{
$traffic->traffic_type = $request->token; // store the key in db
$traffic->traffic_value = $request->get('token');
}
$traffic->ip_address = $request->ip();
$traffic->domain = $request->getHttpHost();
$traffic->save();
return response()->json($traffic);
}
}
web.php
Route::post('/trackvisit', 'TrafficController@storeVisitorParameters')->name('trackvisit');
миграция
public function up()
{
Schema::create('traffic_tracking', function (Blueprint $table) {
$table->increments('traffic_id');
$table->string('ip_address');
$table->string('traffic_type');
$table->string('traffic_value');
$table->integer('user_id');
$table->timestamps();
});
}
моя главная цель - получить только значения sessionStorage
и отправить запрос на мой контроллер.