PWA 调用 POST 从 server.js 请求到 Laravel 中的 API - 419 未知状态
PWA call POST request from server.js to API in Laravel - 419 unknow status
我有 PWA 应用程序。在 Server.js 中,我有发送 POST 请求到 API 的方法,写在 PHP Laravel 中。
这是server.js中的方法:
fetch('http://localhost:8082/testsapp/public/addusertester', {
method: 'POST',
/* headers: {
'auth': '1234'
},*/
body: JSON.stringify({
samedata: 'dean',
samedata2: 'dean123',
})
})
.then(function (data) {
console.log('addUserTester Request success: ', data);
})
在 PHP 方法中看起来像这样:
namespace App\Http\Controllers;
use Exception;
use DB as Database;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Request;
//use Illuminate\Http\Request;
use GuzzleHttp\Client;
class UserController extends Controller
{
public function addUserTesterPost(Request $request)
{
DB::table('users')->insert([
'name' => 'Adam',
'surname' => 'KKKK',
'company' => 'Google',
'password' => 'asdf',
'usertype' => 'tester',
'created' => date('Y-m-d H:i:s', time())
]);
return "email added";
}
...
并在 web.php 中设置路由:
Route::post('/addusertester', 'UserController@addUserTesterPost');
当我在 Server.js 中调用 PWA 中的方法时,我得到响应:
addUserTester Request success: Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]: {
body: PassThrough {
_readableState: [ReadableState],
readable: true,
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_writableState: [WritableState],
writable: false,
allowHalfOpen: true,
_transformState: [Object],
[Symbol(kCapture)]: false
},
disturbed: false,
error: null
},
[Symbol(Response internals)]: {
url: 'http://localhost:8082/testsapp/public/addusertester',
status: 419,
statusText: 'unknown status',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
该方法的结果是成功的,但是没有调用 PHP 中的方法,因为没有任何行被添加到数据库中。
在 Laravel 中我必须设置:
class VerifyCsrfToken extends Middleware
{
protected $except = [
'*'
];
}
现在可以了
我有 PWA 应用程序。在 Server.js 中,我有发送 POST 请求到 API 的方法,写在 PHP Laravel 中。 这是server.js中的方法:
fetch('http://localhost:8082/testsapp/public/addusertester', {
method: 'POST',
/* headers: {
'auth': '1234'
},*/
body: JSON.stringify({
samedata: 'dean',
samedata2: 'dean123',
})
})
.then(function (data) {
console.log('addUserTester Request success: ', data);
})
在 PHP 方法中看起来像这样:
namespace App\Http\Controllers;
use Exception;
use DB as Database;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Request;
//use Illuminate\Http\Request;
use GuzzleHttp\Client;
class UserController extends Controller
{
public function addUserTesterPost(Request $request)
{
DB::table('users')->insert([
'name' => 'Adam',
'surname' => 'KKKK',
'company' => 'Google',
'password' => 'asdf',
'usertype' => 'tester',
'created' => date('Y-m-d H:i:s', time())
]);
return "email added";
}
...
并在 web.php 中设置路由:
Route::post('/addusertester', 'UserController@addUserTesterPost');
当我在 Server.js 中调用 PWA 中的方法时,我得到响应:
addUserTester Request success: Response {
size: 0,
timeout: 0,
[Symbol(Body internals)]: {
body: PassThrough {
_readableState: [ReadableState],
readable: true,
_events: [Object: null prototype],
_eventsCount: 2,
_maxListeners: undefined,
_writableState: [WritableState],
writable: false,
allowHalfOpen: true,
_transformState: [Object],
[Symbol(kCapture)]: false
},
disturbed: false,
error: null
},
[Symbol(Response internals)]: {
url: 'http://localhost:8082/testsapp/public/addusertester',
status: 419,
statusText: 'unknown status',
headers: Headers { [Symbol(map)]: [Object: null prototype] },
counter: 0
}
}
该方法的结果是成功的,但是没有调用 PHP 中的方法,因为没有任何行被添加到数据库中。
在 Laravel 中我必须设置:
class VerifyCsrfToken extends Middleware
{
protected $except = [
'*'
];
}
现在可以了