Я объявил переменную вне методов функции в классе.
И я изменил значение, отправив запрос AJAX. Запрос в порядке.
но когда я повторяю имя переменной, она по-прежнему возвращает ноль и не меняется вообще. Как я могу правильно изменить его?
вот мой код.
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use DB;
use App\Helpers\globalFunction;
class registerController extends Controller
{
public $documentType;
public $trackingNumber;
public $recipient;
public $description;
public $myvalue = 'hello';
public function pendingDataBeforeSave(Request $request)
{
$this->documentType = $request->documentType;
$this->trackingNumber = $request->trackingNumber;
$this->recipient = $request->recipient;
$this->description = $request->description;
$this->myvalue = 'new one';
}
public function storeSend(Request $request)
{
$office = $request->office;
$sendTo = $request->sendTo;
$status = $request->status;
$message = $request->message;
echo json_encode($this->documentType);
}
}
Здесь на стороне клиента для функции storeSend ()
var object = {
office: officeDropdown.value,
sendTo: senderDropdown.value,
status: statusDropdown.value,
message: message.value
};
var xhr = new XMLHttpRequest();
xhr.open("POST", "/sendData");
xhr.setRequestHeader("Content-type", "application/json");
xhr.setRequestHeader("X-CSRF-TOKEN", document.head.querySelector("[name='csrf-token']").content);
xhr.send(JSON.stringify(object));
xhr.onload = function () {
if (xhr.status == 200) {
alert(xhr.responseText);
} else {
alert(xhr.responseText);
}
};
и вот код на стороне клиента для функции pendingDataBeforeSave
var xhr = new XMLHttpRequest();
var object = {
documentType: documentType.value,
trackingNumber: trackingNumber.value,
recipient: recipient.value,
description: description.value
};
xhr.open("POST", "/pendingDataBeforeSave");
xhr.setRequestHeader("Content-type", "text/plain");
xhr.setRequestHeader("X-CSRF-TOKEN", document.head.querySelector("[name='csrf-token']").content);
xhr.send(JSON.stringify(object));
xhr.onload = function () {
if (xhr.status == 200) {
alert('sent');
} else {
alert(xhr.responseText);
}
};